svn commit: r339547 - head/sys/net
Kristof Provost
kp at FreeBSD.org
Sun Oct 21 16:51:36 UTC 2018
Author: kp
Date: Sun Oct 21 16:51:35 2018
New Revision: 339547
URL: https://svnweb.freebsd.org/changeset/base/339547
Log:
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
MFC after: 3 days
Modified:
head/sys/net/if_vlan.c
Modified: head/sys/net/if_vlan.c
==============================================================================
--- head/sys/net/if_vlan.c Sun Oct 21 16:49:49 2018 (r339546)
+++ head/sys/net/if_vlan.c Sun Oct 21 16:51:35 2018 (r339547)
@@ -1302,8 +1302,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
More information about the svn-src-all
mailing list