PERFORCE change 35637 for review

Sam Leffler sam at FreeBSD.org
Wed Aug 6 10:48:53 PDT 2003


http://perforce.freebsd.org/chv.cgi?CH=35637

Change 35637 by sam at sam_ebb on 2003/08/06 10:48:15

	collect "lost" routing table locking changes

Affected files ...

.. //depot/projects/netperf/sys/net/if_stf.c#2 edit
.. //depot/projects/netperf/sys/netinet/in_pcb.h#2 edit
.. //depot/projects/netperf/sys/netinet6/in6_ifattach.c#2 edit

Differences ...

==== //depot/projects/netperf/sys/net/if_stf.c#2 (text+ko) ====

@@ -718,6 +718,7 @@
 	struct rtentry *rt;
 	struct rt_addrinfo *info;
 {
+	RT_LOCK_ASSERT(rt, MA_OWNED);
 
 	if (rt)
 		rt->rt_rmx.rmx_mtu = IPV6_MMTU;

==== //depot/projects/netperf/sys/netinet/in_pcb.h#2 (text+ko) ====

@@ -260,6 +260,9 @@
 #define INP_INFO_RUNLOCK(ipi)	mtx_unlock(&(ipi)->ipi_mtx)
 #define INP_INFO_WUNLOCK(ipi)	mtx_unlock(&(ipi)->ipi_mtx)
 
+#define INP_INFO_RLOCK_ASSERT(ipi)	mtx_assert(&(ipi)->ipi_mtx, MA_OWNED)
+#define INP_INFO_WLOCK_ASSERT(ipi)	mtx_assert(&(ipi)->ipi_mtx, MA_OWNED)
+
 #define INP_PCBHASH(faddr, lport, fport, mask) \
 	(((faddr) ^ ((faddr) >> 16) ^ ntohs((lport) ^ (fport))) & (mask))
 #define INP_PCBPORTHASH(lport, mask) \

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

@@ -985,9 +985,10 @@
 	sin6.sin6_addr = in6addr_linklocal_allnodes;
 	sin6.sin6_addr.s6_addr16[1] = htons(ifp->if_index);
 	rt = rtalloc1((struct sockaddr *)&sin6, 0, 0UL);
-	if (rt && rt->rt_ifp == ifp) {
-		rtrequest(RTM_DELETE, (struct sockaddr *)rt_key(rt),
-			rt->rt_gateway, rt_mask(rt), rt->rt_flags, 0);
+	if (rt) {
+		if (rt->rt_ifp == ifp)
+			rtrequest(RTM_DELETE, (struct sockaddr *)rt_key(rt),
+				rt->rt_gateway, rt_mask(rt), rt->rt_flags, 0);
 		rtfree(rt);
 	}
 }


More information about the p4-projects mailing list