Date: Thu, 22 Aug 2019 11:31:42 +0000 From: bugzilla-noreply@freebsd.org To: testing@freebsd.org Subject: [Bug 238870] sys.netpfil.pf.names.names and sys.netpfil.pf.synproxy.synproxy cause panic Message-ID: <bug-238870-32464-NQ0xpk5fNS@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-238870-32464@https.bugs.freebsd.org/bugzilla/> References: <bug-238870-32464@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D238870 --- Comment #12 from Kristof Provost <kp@freebsd.org> --- As an additional clue, I tried taking the IFNET_WLOCK in vnet_if_return(), = and while that's clearly too crude (if only because that's a non-sleepable lock= and we sleep during if_vmove()), but it does prevent these panics: diff --git a/sys/net/if.c b/sys/net/if.c index 1abb42893a0..b41a1a102cd 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -481,11 +481,13 @@ vnet_if_return(const void *unused __unused) { struct ifnet *ifp, *nifp; + IFNET_WLOCK(); /* Return all inherited interfaces to their parent vnets. */ CK_STAILQ_FOREACH_SAFE(ifp, &V_ifnet, if_link, nifp) { if (ifp->if_home_vnet !=3D ifp->if_vnet) if_vmove(ifp, ifp->if_home_vnet); } + IFNET_WUNLOCK(); } VNET_SYSUNINIT(vnet_if_return, SI_SUB_VNET_DONE, SI_ORDER_ANY, vnet_if_return, NULL); --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-238870-32464-NQ0xpk5fNS>