Page MenuHomeFreeBSD

D56052.id174180.diff
No OneTemporary

D56052.id174180.diff

diff --git a/sys/netinet6/in6_mcast.c b/sys/netinet6/in6_mcast.c
--- a/sys/netinet6/in6_mcast.c
+++ b/sys/netinet6/in6_mcast.c
@@ -2806,9 +2806,9 @@
ifindex = name[0];
NET_EPOCH_ENTER(et);
- ifp = ifnet_byindex(ifindex);
+ ifp = ifnet_byindex_ref(ifindex);
+ NET_EPOCH_EXIT(et);
if (ifp == NULL) {
- NET_EPOCH_EXIT(et);
CTR2(KTR_MLD, "%s: no ifp for ifindex %u",
__func__, ifindex);
return (ENOENT);
@@ -2821,7 +2821,7 @@
retval = sysctl_wire_old_buffer(req,
sizeof(uint32_t) + (in6_mcast_maxgrpsrc * sizeof(struct in6_addr)));
if (retval) {
- NET_EPOCH_EXIT(et);
+ if_rele(ifp);
return (retval);
}
@@ -2856,7 +2856,7 @@
}
IN6_MULTI_LIST_UNLOCK();
IN6_MULTI_UNLOCK();
- NET_EPOCH_EXIT(et);
+ if_rele(ifp);
return (retval);
}

File Metadata

Mime Type
text/plain
Expires
Wed, Jul 22, 1:24 PM (5 h, 42 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35365388
Default Alt Text
D56052.id174180.diff (778 B)

Event Timeline