diff options
author | tuexen <tuexen@FreeBSD.org> | 2010-09-19 11:42:16 +0000 |
---|---|---|
committer | tuexen <tuexen@FreeBSD.org> | 2010-09-19 11:42:16 +0000 |
commit | ea42c22bd85a9248b59b8d5d8198b543c89abf6d (patch) | |
tree | 880d0ecd64dd576fcdbc0b5f2490e22832013689 /sys/netinet | |
parent | ad5705bcafb1b55473ed07519f9b8f4ce791f0b9 (diff) | |
download | FreeBSD-src-ea42c22bd85a9248b59b8d5d8198b543c89abf6d.zip FreeBSD-src-ea42c22bd85a9248b59b8d5d8198b543c89abf6d.tar.gz |
Fix a locking issue which shows up when the code is used
on Mac OS X.
MFC after: 2 weeks.
Diffstat (limited to 'sys/netinet')
-rw-r--r-- | sys/netinet/sctp_auth.c | 2 | ||||
-rw-r--r-- | sys/netinet/sctp_pcb.c | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/netinet/sctp_auth.c b/sys/netinet/sctp_auth.c index 3341c50..f106048 100644 --- a/sys/netinet/sctp_auth.c +++ b/sys/netinet/sctp_auth.c @@ -614,7 +614,7 @@ sctp_auth_key_release(struct sctp_tcb *stcb, uint16_t key_id) if ((skey->refcount <= 1) && (skey->deactivated)) { /* notify ULP that key is no longer used */ sctp_ulp_notify(SCTP_NOTIFY_AUTH_FREE_KEY, stcb, - key_id, 0, SCTP_SO_NOT_LOCKED); + key_id, 0, SCTP_SO_LOCKED); SCTPDBG(SCTP_DEBUG_AUTH2, "%s: stcb %p key %u no longer used, %d\n", __FUNCTION__, stcb, key_id, skey->refcount); diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index 57d4ef2..6e32439 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -4822,7 +4822,7 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tcb *stcb, int from_inpcbfre /* Still an open socket - report */ sctp_ulp_notify(SCTP_NOTIFY_SPECIAL_SP_FAIL, stcb, SCTP_NOTIFY_DATAGRAM_UNSENT, - (void *)sp, 0); + (void *)sp, SCTP_SO_LOCKED); } if (sp->data) { sctp_m_freem(sp->data); @@ -4894,7 +4894,7 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tcb *stcb, int from_inpcbfre if (so) { /* Still a socket? */ sctp_ulp_notify(SCTP_NOTIFY_DG_FAIL, stcb, - SCTP_NOTIFY_DATAGRAM_UNSENT, chk, 0); + SCTP_NOTIFY_DATAGRAM_UNSENT, chk, SCTP_SO_LOCKED); } if (chk->data) { sctp_m_freem(chk->data); @@ -4929,7 +4929,7 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tcb *stcb, int from_inpcbfre if (so) { /* Still a socket? */ sctp_ulp_notify(SCTP_NOTIFY_DG_FAIL, stcb, - SCTP_NOTIFY_DATAGRAM_SENT, chk, 0); + SCTP_NOTIFY_DATAGRAM_SENT, chk, SCTP_SO_LOCKED); } if (chk->data) { sctp_m_freem(chk->data); |