diff options
| author | Abdelkader Boudih <freebsd@seuros.com> | 2026-06-06 20:08:59 +0000 |
|---|---|---|
| committer | Adrian Chadd <adrian@FreeBSD.org> | 2026-06-06 20:08:59 +0000 |
| commit | a620746da173d1583b342b096419297e33d0ed15 (patch) | |
| tree | 765ec13d872de58bc04d48f2a8968ca6b7105d6c | |
| parent | 390ae06d4f524a6f32383cbc1bcbdecdb3738bc3 (diff) | |
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
| -rw-r--r-- | sys/dev/firewire/if_fwe.c | 3 |
1 files changed, 3 insertions, 0 deletions
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) |
