git: e69309223199 - stable/14 - netinet: enter epoch in garp_rexmit()

From: Kristof Provost <kp_at_FreeBSD.org>
Date: Mon, 27 Jan 2025 17:22:28 UTC
The branch stable/14 has been updated by kp:

URL: https://cgit.FreeBSD.org/src/commit/?id=e69309223199e56397df3b6f750f012eb729d904

commit e69309223199e56397df3b6f750f012eb729d904
Author:     Kristof Provost <kp@FreeBSD.org>
AuthorDate: 2025-01-20 13:24:48 +0000
Commit:     Kristof Provost <kp@FreeBSD.org>
CommitDate: 2025-01-27 09:04:34 +0000

    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)
---
 sys/netinet/if_ether.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c
index 0e4f28a06342..5b69520a12d3 100644
--- a/sys/netinet/if_ether.c
+++ b/sys/netinet/if_ether.c
@@ -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);
 }
 
 /*