Page MenuHomeFreeBSD

D45595.diff
No OneTemporary

D45595.diff

diff --git a/sys/net/if.c b/sys/net/if.c
--- a/sys/net/if.c
+++ b/sys/net/if.c
@@ -1343,8 +1343,8 @@
/* XXX Lock interfaces to avoid races. */
CURVNET_SET_QUIET(pr->pr_vnet);
difp = ifunit(ifname);
+ CURVNET_RESTORE();
if (difp != NULL) {
- CURVNET_RESTORE();
prison_free(pr);
return (EEXIST);
}
@@ -1354,16 +1354,13 @@
shutdown = VNET_IS_SHUTTING_DOWN(ifp->if_vnet);
if (shutdown) {
sx_xunlock(&ifnet_detach_sxlock);
- CURVNET_RESTORE();
prison_free(pr);
return (EBUSY);
}
- CURVNET_RESTORE();
found = if_unlink_ifnet(ifp, true);
if (! found) {
sx_xunlock(&ifnet_detach_sxlock);
- CURVNET_RESTORE();
prison_free(pr);
return (ENODEV);
}

File Metadata

Mime Type
text/plain
Expires
Sat, Oct 5, 11:43 PM (14 h, 15 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
13528479
Default Alt Text
D45595.diff (689 B)

Event Timeline