Index: pf.c =================================================================== RCS file: /cvs/src/sys/net/pf.c,v retrieving revision 1.1153 diff -u -p -r1.1153 pf.c --- pf.c 12 Nov 2022 02:48:14 -0000 1.1153 +++ pf.c 24 Nov 2022 01:21:48 -0000 @@ -1603,9 +1603,6 @@ pf_purge(void *null) { unsigned int interval = max(1, pf_default_rule.timeout[PFTM_INTERVAL]); - /* XXX is NET_LOCK necessary? */ - NET_LOCK(); - PF_LOCK(); pf_purge_expired_src_nodes(); @@ -1616,7 +1613,6 @@ pf_purge(void *null) * Fragments don't require PF_LOCK(), they use their own lock. */ pf_purge_expired_fragments(); - NET_UNLOCK(); /* interpret the interval as idle time between runs */ timeout_add_sec(&pf_purge_to, interval); @@ -1891,7 +1887,6 @@ pf_purge_expired_states(const unsigned i if (SLIST_EMPTY(&gcl)) return (scanned); - NET_LOCK(); rw_enter_write(&pf_state_list.pfs_rwl); PF_LOCK(); PF_STATE_ENTER_WRITE(); @@ -1904,7 +1899,6 @@ pf_purge_expired_states(const unsigned i PF_STATE_EXIT_WRITE(); PF_UNLOCK(); rw_exit_write(&pf_state_list.pfs_rwl); - NET_UNLOCK(); while ((st = SLIST_FIRST(&gcl)) != NULL) { SLIST_REMOVE_HEAD(&gcl, gc_list);