The branch stable/14 has been updated by kp:

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

commit e69309223199e56397df3b6f750f012eb729d904
Author:     Kristof Provost <k...@freebsd.org>
AuthorDate: 2025-01-20 13:24:48 +0000
Commit:     Kristof Provost <k...@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);
 }
 
 /*

Reply via email to