Page MenuHomeFreeBSD

D20739.diff
No OneTemporary

D20739.diff

Index: head/sys/netinet6/in6_mcast.c
===================================================================
--- head/sys/netinet6/in6_mcast.c
+++ head/sys/netinet6/in6_mcast.c
@@ -1267,6 +1267,7 @@
struct epoch_tracker et;
CTR2(KTR_MLD, "%s: dropping ref on %p", __func__, inm);
+ IF_ADDR_WLOCK(ifp);
NET_EPOCH_ENTER(et);
CK_STAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) {
if (ifma->ifma_protospec == inm) {
@@ -1277,6 +1278,7 @@
in6m_disconnect_locked(&inmh, inm);
in6m_rele_locked(&inmh, inm);
NET_EPOCH_EXIT(et);
+ IF_ADDR_WUNLOCK(ifp);
} else {
*pinm = inm;
}

File Metadata

Mime Type
text/plain
Expires
Fri, Feb 14, 3:29 AM (18 h, 41 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16636833
Default Alt Text
D20739.diff (604 B)

Event Timeline