svn commit: r212850 - head/sys/netinet
Michael Tuexen
tuexen at FreeBSD.org
Sun Sep 19 11:42:17 UTC 2010
Author: tuexen
Date: Sun Sep 19 11:42:16 2010
New Revision: 212850
URL: http://svn.freebsd.org/changeset/base/212850
Log:
Fix a locking issue which shows up when the code is used
on Mac OS X.
MFC after: 2 weeks.
Modified:
head/sys/netinet/sctp_auth.c
head/sys/netinet/sctp_pcb.c
Modified: head/sys/netinet/sctp_auth.c
==============================================================================
--- head/sys/netinet/sctp_auth.c Sun Sep 19 11:22:22 2010 (r212849)
+++ head/sys/netinet/sctp_auth.c Sun Sep 19 11:42:16 2010 (r212850)
@@ -614,7 +614,7 @@ sctp_auth_key_release(struct sctp_tcb *s
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);
Modified: head/sys/netinet/sctp_pcb.c
==============================================================================
--- head/sys/netinet/sctp_pcb.c Sun Sep 19 11:22:22 2010 (r212849)
+++ head/sys/netinet/sctp_pcb.c Sun Sep 19 11:42:16 2010 (r212850)
@@ -4822,7 +4822,7 @@ sctp_free_assoc(struct sctp_inpcb *inp,
/* 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,
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,
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);
More information about the svn-src-head
mailing list