Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Oct 2010 19:15:30 +0000 (UTC)
From:      Michael Tuexen <tuexen@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r214486 - stable/8/sys/netinet
Message-ID:  <201010281915.o9SJFUV2026392@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tuexen
Date: Thu Oct 28 19:15:30 2010
New Revision: 214486
URL: http://svn.freebsd.org/changeset/base/214486

Log:
  MFC r212850:
  Fix a locking issue which shows up when the code is used
  on Mac OS X.

Modified:
  stable/8/sys/netinet/sctp_auth.c
  stable/8/sys/netinet/sctp_pcb.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)

Modified: stable/8/sys/netinet/sctp_auth.c
==============================================================================
--- stable/8/sys/netinet/sctp_auth.c	Thu Oct 28 19:13:46 2010	(r214485)
+++ stable/8/sys/netinet/sctp_auth.c	Thu Oct 28 19:15:30 2010	(r214486)
@@ -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: stable/8/sys/netinet/sctp_pcb.c
==============================================================================
--- stable/8/sys/netinet/sctp_pcb.c	Thu Oct 28 19:13:46 2010	(r214485)
+++ stable/8/sys/netinet/sctp_pcb.c	Thu Oct 28 19:15:30 2010	(r214486)
@@ -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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201010281915.o9SJFUV2026392>