Date: Wed, 24 Oct 2018 18:19:32 +0000 (UTC) From: Kristof Provost <kp@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r339691 - stable/11/sys/net Message-ID: <201810241819.w9OIJWhB020404@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kp Date: Wed Oct 24 18:19:32 2018 New Revision: 339691 URL: https://svnweb.freebsd.org/changeset/base/339691 Log: MFC r339547: vlan: Fix panic with lagg and vlan vlan_lladdr_fn() is called from taskqueue, which means there's no vnet context set. We can end up trying to send ARP messages (through the iflladdr_event event), which requires a vnet context. PR: 227654 Modified: stable/11/sys/net/if_vlan.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/net/if_vlan.c ============================================================================== --- stable/11/sys/net/if_vlan.c Wed Oct 24 17:32:31 2018 (r339690) +++ stable/11/sys/net/if_vlan.c Wed Oct 24 18:19:32 2018 (r339691) @@ -1318,8 +1318,13 @@ vlan_lladdr_fn(void *arg, int pending __unused) ifv = (struct ifvlan *)arg; ifp = ifv->ifv_ifp; + + CURVNET_SET(ifp->if_vnet); + /* The ifv_ifp already has the lladdr copied in. */ if_setlladdr(ifp, IF_LLADDR(ifp), ifp->if_addrlen); + + CURVNET_RESTORE(); } static int
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201810241819.w9OIJWhB020404>