git: a620746da173 - main - fix(fwe): add missing net epoch around ether_input

From: Adrian Chadd <adrian_at_FreeBSD.org>
Date: Sat, 06 Jun 2026 20:17:47 UTC
The branch main has been updated by adrian:

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

commit a620746da173d1583b342b096419297e33d0ed15
Author:     Abdelkader Boudih <freebsd@seuros.com>
AuthorDate: 2026-06-06 20:08:59 +0000
Commit:     Adrian Chadd <adrian@FreeBSD.org>
CommitDate: 2026-06-06 20:08:59 +0000

    fix(fwe): add missing net epoch around ether_input
    
    Wrap the if_input() call in fwe_as_input() with NET_EPOCH_ENTER/EXIT.
    The network stack requires epoch protection when delivering packets
    via if_input, and fwe was missing it.
    
    Reviewed by:    adrian
    Differential Revision:  https://reviews.freebsd.org/D57459
---
 sys/dev/firewire/if_fwe.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sys/dev/firewire/if_fwe.c b/sys/dev/firewire/if_fwe.c
index 4f8d0087e9ab..5d7299b4acf8 100644
--- a/sys/dev/firewire/if_fwe.c
+++ b/sys/dev/firewire/if_fwe.c
@@ -548,6 +548,7 @@ fwe_as_input(struct fw_xferq *xferq)
 	struct fwe_softc *fwe;
 	struct fw_bulkxfer *sxfer;
 	struct fw_pkt *fp;
+	struct epoch_tracker et;
 #if 0
 	u_char *c;
 #endif
@@ -599,7 +600,9 @@ fwe_as_input(struct fw_xferq *xferq)
 			 c[20], c[21], c[22], c[23]
 		);
 #endif
+		NET_EPOCH_ENTER(et);
 		if_input(ifp, m);
+		NET_EPOCH_EXIT(et);
 		if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1);
 	}
 	if (STAILQ_FIRST(&xferq->stfree) != NULL)