iflib: allow clone detach if not yet init
If we hit an error during init, then we'll unwind our state and attempt to detach the device -- don't block it. This was discovered by creating a wg0 with missing parameters; said failure ended up leaving this orphaned device in place and ended up panicking the system upon enumeration of the dev.* sysctl space. Reviewed by: gallatin, markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D29145
This commit is contained in:
parent
299f8977ce
commit
0dd691b412
@ -83,7 +83,8 @@ iflib_pseudo_detach(device_t dev)
|
|||||||
if_ctx_t ctx;
|
if_ctx_t ctx;
|
||||||
|
|
||||||
ctx = device_get_softc(dev);
|
ctx = device_get_softc(dev);
|
||||||
if ((iflib_get_flags(ctx) & IFC_IN_DETACH) == 0)
|
if ((iflib_get_flags(ctx) & (IFC_INIT_DONE | IFC_IN_DETACH)) ==
|
||||||
|
IFC_INIT_DONE)
|
||||||
return (EBUSY);
|
return (EBUSY);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user