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")

(cherry picked from commit 38fdcca05d09b4d5426a253d3c484f9481a73ac2)
This commit is contained in:
Kristof Provost 2025-01-20 14:24:48 +01:00 committed by Franco Fichtner
parent 337c900438
commit ebed92a975

View File

@ -1354,6 +1354,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) ||
@ -1363,6 +1364,7 @@ garp_rexmit(void *arg)
return;
}
NET_EPOCH_ENTER(et);
CURVNET_SET(ia->ia_ifa.ifa_ifp->if_vnet);
/*
@ -1394,6 +1396,7 @@ garp_rexmit(void *arg)
}
CURVNET_RESTORE();
NET_EPOCH_EXIT(et);
}
/*