git: a620746da173 - main - fix(fwe): add missing net epoch around ether_input
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
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)