From 903eaa68f13b8a3b2d6fd035bb1376d7ac2247a7 Mon Sep 17 00:00:00 2001 From: Kristof Provost Date: Thu, 23 Aug 2018 16:52:52 +0000 Subject: [PATCH] xen/netfront: Ensure curvnet is set netfront_backend_changed() is called from the xenwatch_thread(), which means that the curvnet is not set. We have to set it before we can call things like arp_ifinit(). PR: 230845 --- sys/dev/xen/netfront/netfront.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/dev/xen/netfront/netfront.c b/sys/dev/xen/netfront/netfront.c index ba8ac3caf7fa..38c3b5a6ffe6 100644 --- a/sys/dev/xen/netfront/netfront.c +++ b/sys/dev/xen/netfront/netfront.c @@ -962,6 +962,8 @@ netfront_backend_changed(device_t dev, XenbusState newstate) DPRINTK("newstate=%d\n", newstate); + CURVNET_SET(sc->xn_ifp->if_vnet); + switch (newstate) { case XenbusStateInitialising: case XenbusStateInitialised: @@ -994,6 +996,8 @@ netfront_backend_changed(device_t dev, XenbusState newstate) #endif break; } + + CURVNET_RESTORE(); } /**