diff options
author | glebius <glebius@FreeBSD.org> | 2015-07-28 09:21:19 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2015-07-28 09:21:19 +0000 |
commit | 70de52445fa1f6c5102a732e37888b1f67ad31b2 (patch) | |
tree | 25488c729d04d6d13bec2d1b19bcbe8b6de853f8 /sys/netpfil/pf/pf_ioctl.c | |
parent | 859189d7ec78dae1e33886074bceb678ec6d78fc (diff) | |
download | FreeBSD-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/pf/pf_ioctl.c')
-rw-r--r-- | sys/netpfil/pf/pf_ioctl.c | 2 |
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); |