aboutsummaryrefslogtreecommitdiff
path: root/sys/net/iflib.c
diff options
context:
space:
mode:
authorMatt Macy <mmacy@FreeBSD.org>2020-07-27 01:17:59 +0000
committerMatt Macy <mmacy@FreeBSD.org>2020-07-27 01:17:59 +0000
commit0ae0e8d2bdb90405f3b67adbe80d90fd769cba00 (patch)
treea39dfa3f0a9423df17a97a8c7d901ad1394e9651 /sys/net/iflib.c
parent194d870481f8cb2d25d7125b2e1609d5c5d202f7 (diff)
downloadsrc-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.c2
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;