summaryrefslogtreecommitdiffstats
path: root/sys/netinet
diff options
context:
space:
mode:
authorrrs <rrs@FreeBSD.org>2010-06-07 04:01:38 +0000
committerrrs <rrs@FreeBSD.org>2010-06-07 04:01:38 +0000
commitde042002c0e026b253c76d8bbf1c2c7a8d4368e7 (patch)
treefce5dade1441ef1ed397f63440b540fb582828f2 /sys/netinet
parentcaf58c06dccc18cc48b8c0e79badc9395c7c9028 (diff)
downloadFreeBSD-src-de042002c0e026b253c76d8bbf1c2c7a8d4368e7.zip
FreeBSD-src-de042002c0e026b253c76d8bbf1c2c7a8d4368e7.tar.gz
Fix so we call socantrcvmore_locked so we
don't see a race where we unlock to call the non-locked version and have the socket go away. MFC after: 1 week
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/sctp_pcb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c
index 8547584..d7ce355 100644
--- a/sys/netinet/sctp_pcb.c
+++ b/sys/netinet/sctp_pcb.c
@@ -4675,8 +4675,8 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tcb *stcb, int from_inpcbfre
SS_ISCONFIRMING |
SS_ISCONNECTED);
}
+ socantrcvmore_locked(so);
SOCK_UNLOCK(so);
- socantrcvmore(so);
sctp_sowwakeup(inp, so);
sctp_sorwakeup(inp, so);
SCTP_SOWAKEUP(so);
OpenPOWER on IntegriCloud