Page MenuHomeFreeBSD

D34624.diff
No OneTemporary

D34624.diff

diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c
--- a/sys/netinet/ip_mroute.c
+++ b/sys/netinet/ip_mroute.c
@@ -1124,6 +1124,7 @@
struct rtdetq *rte;
u_long hash = 0;
u_short nstl;
+ struct epoch_tracker et;
MRW_WLOCK();
rt = mfc_find(&mfccp->mfcc_origin, &mfccp->mfcc_mcastgrp);
@@ -1144,6 +1145,7 @@
*/
nstl = 0;
hash = MFCHASH(mfccp->mfcc_origin, mfccp->mfcc_mcastgrp);
+ NET_EPOCH_ENTER(et);
LIST_FOREACH(rt, &V_mfchashtbl[hash], mfc_hash) {
if (in_hosteq(rt->mfc_origin, mfccp->mfcc_origin) &&
in_hosteq(rt->mfc_mcastgrp, mfccp->mfcc_mcastgrp) &&
@@ -1171,6 +1173,7 @@
}
}
}
+ NET_EPOCH_EXIT(et);
/*
* It is possible that an entry is being inserted without an upcall
@@ -1548,6 +1551,7 @@
int plen = ntohs(ip->ip_len);
MRW_LOCK_ASSERT();
+ NET_EPOCH_ASSERT();
/*
* If xmt_vif is not -1, send on only the requested vif.
@@ -1752,6 +1756,7 @@
int error __unused;
MRW_LOCK_ASSERT();
+ NET_EPOCH_ASSERT();
imo.imo_multicast_ifp = vifp->v_ifp;
imo.imo_multicast_ttl = mtod(m, struct ip *)->ip_ttl - 1;

File Metadata

Mime Type
text/plain
Expires
Tue, Nov 19, 8:42 AM (22 h, 13 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14713503
Default Alt Text
D34624.diff (1 KB)

Event Timeline