diff options
author | Matt Macy <mmacy@FreeBSD.org> | 2020-05-31 18:42:00 +0000 |
---|---|---|
committer | Matt Macy <mmacy@FreeBSD.org> | 2020-05-31 18:42:00 +0000 |
commit | 1f93e931d9f0c688f43f98ef777e04636a325526 (patch) | |
tree | 176b9dbf8ed9a83dee7e33407de5fa200aabc137 /sys/net/iflib.c | |
parent | 0cfac4d5c6906e114b98dde7c9ad63d5bd714f6e (diff) | |
download | src-1f93e931d9f0c688f43f98ef777e04636a325526.tar.gz src-1f93e931d9f0c688f43f98ef777e04636a325526.zip |
Fix panics when using iflib pseudo device support
Reviewed by: gallatin@, hselasky@
MFC after: 1 week
Sponsored by: Netgate, Inc.
Differential Revision: https://reviews.freebsd.org/D23710
Notes
Notes:
svn path=/head/; revision=361665
Diffstat (limited to 'sys/net/iflib.c')
-rw-r--r-- | sys/net/iflib.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/net/iflib.c b/sys/net/iflib.c index db4a11faaad5..b6d2f0fe9027 100644 --- a/sys/net/iflib.c +++ b/sys/net/iflib.c @@ -4902,6 +4902,7 @@ iflib_pseudo_register(device_t dev, if_shared_ctx_t sctx, if_ctx_t *ctxp, if_setgetcounterfn(ctx->ifc_ifp, iflib_if_get_counter); iflib_add_device_sysctl_post(ctx); ctx->ifc_flags |= IFC_INIT_DONE; + CTX_UNLOCK(ctx); return (0); } _iflib_pre_assert(scctx); @@ -5354,7 +5355,8 @@ iflib_register(if_ctx_t ctx) device_t dev = ctx->ifc_dev; if_t ifp; - _iflib_assert(sctx); + if ((sctx->isc_flags & IFLIB_PSEUDO) == 0) + _iflib_assert(sctx); CTX_LOCK_INIT(ctx); STATE_LOCK_INIT(ctx, device_get_nameunit(ctx->ifc_dev)); |