From 845016f4a2151a01844d3565f0504c0208bb6ede Mon Sep 17 00:00:00 2001 From: hselasky Date: Tue, 11 Feb 2020 18:16:29 +0000 Subject: [PATCH] Add missing EPOCH(9) wrapper in ipfw(8). Backtrace: panic() ip_output() dyn_tick() softclock_call_cc() softclock() ithread_loop() Differential Revision: https://reviews.freebsd.org/D23599 Reviewed by: glebius@ and ae@ Found by: mmacy@ Reported by: jmd@ Sponsored by: Mellanox Technologies --- sys/netpfil/ipfw/ip_fw_dynamic.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/netpfil/ipfw/ip_fw_dynamic.c b/sys/netpfil/ipfw/ip_fw_dynamic.c index d2a5c94347c5..6825c5d1eba4 100644 --- a/sys/netpfil/ipfw/ip_fw_dynamic.c +++ b/sys/netpfil/ipfw/ip_fw_dynamic.c @@ -2718,6 +2718,7 @@ dyn_grow_hashtable(struct ip_fw_chain *chain, uint32_t new) static void dyn_tick(void *vnetx) { + struct epoch_tracker et; uint32_t buckets; CURVNET_SET((struct vnet *)vnetx); @@ -2740,10 +2741,12 @@ dyn_tick(void *vnetx) if (V_dyn_keepalive != 0 && V_dyn_keepalive_last + V_dyn_keepalive_period <= time_uptime) { V_dyn_keepalive_last = time_uptime; + NET_EPOCH_ENTER(et); dyn_send_keepalive_ipv4(&V_layer3_chain); #ifdef INET6 dyn_send_keepalive_ipv6(&V_layer3_chain); #endif + NET_EPOCH_EXIT(et); } /* * Check if we need to resize the hash: