diff options
author | Matt Macy <mmacy@FreeBSD.org> | 2020-07-27 01:17:59 +0000 |
---|---|---|
committer | Matt Macy <mmacy@FreeBSD.org> | 2020-07-27 01:17:59 +0000 |
commit | 0ae0e8d2bdb90405f3b67adbe80d90fd769cba00 (patch) | |
tree | a39dfa3f0a9423df17a97a8c7d901ad1394e9651 /sys/net/iflib.c | |
parent | 194d870481f8cb2d25d7125b2e1609d5c5d202f7 (diff) | |
download | src-0ae0e8d2bdb90405f3b67adbe80d90fd769cba00.tar.gz src-0ae0e8d2bdb90405f3b67adbe80d90fd769cba00.zip |
iflib: fix LOR with bpf detach
Reported by: grehan@
Approved by: grehan@
MFC after: 1 week
Sponsored by: Netgate
Differential Revision: https://reviews.freebsd.org/D25530
Notes
Notes:
svn path=/head/; revision=363590
Diffstat (limited to 'sys/net/iflib.c')
-rw-r--r-- | sys/net/iflib.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/net/iflib.c b/sys/net/iflib.c index f87b31251ffe..9a37f30b43f6 100644 --- a/sys/net/iflib.c +++ b/sys/net/iflib.c @@ -4192,7 +4192,9 @@ iflib_if_ioctl(if_t ifp, u_long command, caddr_t data) if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { if ((if_getflags(ifp) ^ ctx->ifc_if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) { + CTX_UNLOCK(ctx); err = IFDI_PROMISC_SET(ctx, if_getflags(ifp)); + CTX_LOCK(ctx); } } else reinit = 1; |