diff options
author | Kristof Provost <kp@FreeBSD.org> | 2025-01-20 13:24:48 +0000 |
---|---|---|
committer | Kristof Provost <kp@FreeBSD.org> | 2025-01-20 13:28:39 +0000 |
commit | 38fdcca05d09b4d5426a253d3c484f9481a73ac2 (patch) | |
tree | 09e8e8875044268767c812c7e99b0bb2919727ef | |
parent | 013784c967f994058f701c1fd2a82a2cc0bd90b0 (diff) |
netinet: enter epoch in garp_rexmit()
garp_rexmit() is a callback, so is not in net_epoch, which
arprequest_internal() expects.
Enter and exit the net_epoch.
PR: 284073
MFC after: 1 week
Sponsored by: Rubicon Communications, LLC ("Netgate")
-rw-r--r-- | sys/netinet/if_ether.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c index 502261f5f2d9..88da1b139b1f 100644 --- a/sys/netinet/if_ether.c +++ b/sys/netinet/if_ether.c @@ -1353,6 +1353,7 @@ sysctl_garp_rexmit(SYSCTL_HANDLER_ARGS) static void garp_rexmit(void *arg) { + struct epoch_tracker et; struct in_ifaddr *ia = arg; if (callout_pending(&ia->ia_garp_timer) || @@ -1362,6 +1363,7 @@ garp_rexmit(void *arg) return; } + NET_EPOCH_ENTER(et); CURVNET_SET(ia->ia_ifa.ifa_ifp->if_vnet); /* @@ -1393,6 +1395,7 @@ garp_rexmit(void *arg) } CURVNET_RESTORE(); + NET_EPOCH_EXIT(et); } /* |