Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Dec 2008 01:47:00 +0000 (UTC)
From:      Andrew Thompson <thompsa@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r185964 - head/sys/netinet6
Message-ID:  <200812120147.mBC1l0vg082925@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: thompsa
Date: Fri Dec 12 01:46:59 2008
New Revision: 185964
URL: http://svn.freebsd.org/changeset/base/185964

Log:
  Pass RTF_RNH_LOCKED to rtalloc1 sunce the node head is locked, this avoids a
  recursive lock panic on inet6 detach.
  
  Reviewed by:	kmacy

Modified:
  head/sys/netinet6/in6_ifattach.c

Modified: head/sys/netinet6/in6_ifattach.c
==============================================================================
--- head/sys/netinet6/in6_ifattach.c	Fri Dec 12 01:36:50 2008	(r185963)
+++ head/sys/netinet6/in6_ifattach.c	Fri Dec 12 01:46:59 2008	(r185964)
@@ -834,7 +834,7 @@ in6_ifdetach(struct ifnet *ifp)
 	/* XXX grab lock first to avoid LOR */
 	if (V_rt_tables[0][AF_INET6] != NULL) {
 		RADIX_NODE_HEAD_LOCK(V_rt_tables[0][AF_INET6]);
-		rt = rtalloc1((struct sockaddr *)&sin6, 0, 0UL);
+		rt = rtalloc1((struct sockaddr *)&sin6, RTF_RNH_LOCKED, 0UL);
 		if (rt) {
 			if (rt->rt_ifp == ifp)
 				rtexpunge(rt);



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