diff options
author | Kristof Provost <kp@FreeBSD.org> | 2021-07-20 19:03:08 +0000 |
---|---|---|
committer | Kristof Provost <kp@FreeBSD.org> | 2021-07-20 19:13:25 +0000 |
commit | 32271c4d383effeac7878201ef5cbdfaeedc3755 (patch) | |
tree | befba1ff0f9d56f94739466a3e4a404482078cb0 /sys/netpfil/pf | |
parent | 84db87b8dafd9e9970fd36ac48c11ffdc89d31d0 (diff) | |
download | src-32271c4d383effeac7878201ef5cbdfaeedc3755.tar.gz src-32271c4d383effeac7878201ef5cbdfaeedc3755.zip |
pf: clean up syncookie callout on vnet shutdown
Ensure that we cancel any outstanding callouts for syncookies when we
terminate the vnet.
MFC after: 1 week
Sponsored by: Modirum MDPay
Diffstat (limited to 'sys/netpfil/pf')
-rw-r--r-- | sys/netpfil/pf/pf_ioctl.c | 1 | ||||
-rw-r--r-- | sys/netpfil/pf/pf_syncookies.c | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index a9f5b2c18041..27e1a145f3ec 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -5573,6 +5573,7 @@ pf_unload_vnet(void) dehook_pf(); PF_RULES_WLOCK(); + pf_syncookies_cleanup(); shutdown_pf(); PF_RULES_WUNLOCK(); diff --git a/sys/netpfil/pf/pf_syncookies.c b/sys/netpfil/pf/pf_syncookies.c index 0313b817ad6d..8699ae855ec8 100644 --- a/sys/netpfil/pf/pf_syncookies.c +++ b/sys/netpfil/pf/pf_syncookies.c @@ -127,6 +127,12 @@ pf_syncookies_init(void) PF_RULES_WUNLOCK(); } +void +pf_syncookies_cleanup(void) +{ + callout_stop(&V_pf_syncookie_status.keytimeout); +} + int pf_get_syncookies(struct pfioc_nv *nv) { |