summaryrefslogtreecommitdiffstats
path: root/sys/netpfil
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2015-07-28 09:21:19 +0000
committerglebius <glebius@FreeBSD.org>2015-07-28 09:21:19 +0000
commit70de52445fa1f6c5102a732e37888b1f67ad31b2 (patch)
tree25488c729d04d6d13bec2d1b19bcbe8b6de853f8 /sys/netpfil
parent859189d7ec78dae1e33886074bceb678ec6d78fc (diff)
downloadFreeBSD-src-70de52445fa1f6c5102a732e37888b1f67ad31b2.zip
FreeBSD-src-70de52445fa1f6c5102a732e37888b1f67ad31b2.tar.gz
Merge r283106:
During module unload unlock rules before destroying UMA zones, which may sleep in uma_drain(). It is safe to unlock here, since we are already dehooked from pfil(9) and all pf threads had quit.
Diffstat (limited to 'sys/netpfil')
-rw-r--r--sys/netpfil/pf/pf_ioctl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c
index dd58673..cf17466 100644
--- a/sys/netpfil/pf/pf_ioctl.c
+++ b/sys/netpfil/pf/pf_ioctl.c
@@ -3750,6 +3750,7 @@ pf_unload(void)
wakeup_one(pf_purge_thread);
rw_sleep(pf_purge_thread, &pf_rules_lock, 0, "pftmo", 0);
}
+ PF_RULES_WUNLOCK();
pf_normalize_cleanup();
pfi_cleanup();
pfr_cleanup();
@@ -3757,7 +3758,6 @@ pf_unload(void)
pf_cleanup();
if (IS_DEFAULT_VNET(curvnet))
pf_mtag_cleanup();
- PF_RULES_WUNLOCK();
destroy_dev(pf_dev);
rw_destroy(&pf_rules_lock);
sx_destroy(&pf_ioctl_lock);
OpenPOWER on IntegriCloud