Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Oct 2003 18:14:47 -0800 (PST)
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 40795 for review
Message-ID:  <200310300214.h9U2El6c079548@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=40795

Change 40795 by sam@sam_ebb on 2003/10/29 18:14:45

	grab the tree lock before calling rtexpunge to avoid a LOR
	seen when ejecting a removable NIC

Affected files ...

.. //depot/projects/netperf/sys/netinet6/in6_ifattach.c#11 edit

Differences ...

==== //depot/projects/netperf/sys/netinet6/in6_ifattach.c#11 (text+ko) ====

@@ -904,12 +904,15 @@
 	sin6.sin6_family = AF_INET6;
 	sin6.sin6_addr = in6addr_linklocal_allnodes;
 	sin6.sin6_addr.s6_addr16[1] = htons(ifp->if_index);
+	/* XXX grab lock first to avoid LOR */
+	RADIX_NODE_HEAD_LOCK(rt_tables[AF_INET6]);
 	rt = rtalloc1((struct sockaddr *)&sin6, 0, 0UL);
 	if (rt) {
 		if (rt->rt_ifp == ifp)
 			rtexpunge(rt);
 		RTFREE_LOCKED(rt);
 	}
+	RADIX_NODE_HEAD_UNLOCK(rt_tables[AF_INET6]);
 }
 
 void



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