Date: Tue, 24 Mar 2026 13:38:26 +0000 From: Pouria Mousavizadeh Tehrani <pouria@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: cbac897a7b05 - main - in6_mcast: Acquire ref to ifp and exit epoch earlier in sysctl Message-ID: <69c293d2.45d3b.d21545b@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=cbac897a7b057427cfaab12cc143144eadd1e80d commit cbac897a7b057427cfaab12cc143144eadd1e80d Author: Pouria Mousavizadeh Tehrani <pouria@FreeBSD.org> AuthorDate: 2026-03-23 18:38:46 +0000 Commit: Pouria Mousavizadeh Tehrani <pouria@FreeBSD.org> CommitDate: 2026-03-24 13:37:23 +0000 in6_mcast: Acquire ref to ifp and exit epoch earlier in sysctl This patch reduces the number of witness warnings during ifmcstat(8) calls. Reviewed by: glebius, zlei Differential Revision: https://reviews.freebsd.org/D56052 --- sys/netinet6/in6_mcast.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/netinet6/in6_mcast.c b/sys/netinet6/in6_mcast.c index 4e770079e64e..7942faefd568 100644 --- a/sys/netinet6/in6_mcast.c +++ b/sys/netinet6/in6_mcast.c @@ -2806,9 +2806,9 @@ sysctl_ip6_mcast_filters(SYSCTL_HANDLER_ARGS) 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 @@ sysctl_ip6_mcast_filters(SYSCTL_HANDLER_ARGS) 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 @@ sysctl_ip6_mcast_filters(SYSCTL_HANDLER_ARGS) } IN6_MULTI_LIST_UNLOCK(); IN6_MULTI_UNLOCK(); - NET_EPOCH_EXIT(et); + if_rele(ifp); return (retval); }home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69c293d2.45d3b.d21545b>
