svn commit: r239395 - head/sys/netinet

Randall Stewart rrs at FreeBSD.org
Sun Aug 19 11:54:03 UTC 2012


Author: rrs
Date: Sun Aug 19 11:54:02 2012
New Revision: 239395
URL: http://svn.freebsd.org/changeset/base/239395

Log:
  Though I disagree, I conceed to jhb & Rui. Note
  that we still have a problem with this whole structure of
  locks and in_input.c [it does not lock which it should not, but
  this *can* lead to crashes]. (I have seen it in our SQA
  testbed.. besides the one with a refcnt issue that I will
  have SQA work on next week ;-)

Modified:
  head/sys/netinet/in.c

Modified: head/sys/netinet/in.c
==============================================================================
--- head/sys/netinet/in.c	Sun Aug 19 10:34:40 2012	(r239394)
+++ head/sys/netinet/in.c	Sun Aug 19 11:54:02 2012	(r239395)
@@ -573,6 +573,7 @@ in_control(struct socket *so, u_long cmd
 	}
 	TAILQ_REMOVE(&ifp->if_addrhead, &ia->ia_ifa, ifa_link);
 	IF_ADDR_WUNLOCK(ifp);
+	ifa_free(&ia->ia_ifa);		      /* if_addrhead */
 
 	IN_IFADDR_WLOCK();
 	TAILQ_REMOVE(&V_in_ifaddrhead, ia, ia_link);
@@ -596,7 +597,6 @@ in_control(struct socket *so, u_long cmd
 	} else
 		ifa_free(&iap->ia_ifa);
 
-	ifa_free(&ia->ia_ifa);				/* if_addrhead */
 	ifa_free(&ia->ia_ifa);				/* in_ifaddrhead */
 out:
 	if (ia != NULL)


More information about the svn-src-head mailing list