CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2025/06/13 21:35:09
Modified files:
sys/net : if.c
Log message:
run ifq_barrier against all ifqs in if_detach, not just if_snd.
syzkaller has reported a couple of new crashes in bpf since
src/sys/net/if_loop.c r1.101 where i made lo(4) multiq.
interfaces should stop in flight packet processing (including
if_input_process) before tearing state down. this is usually done
when the interface is brought down, which drivers usually call during
detach, but lo(4) is special. it relied on if_detach to do this work,
but it appears that if_detach was lazy and only ran ifq_barrier against
the 0th ifq. the diff below makes it run ifq_barrier against all the
ifqs. this is consistent with the other ifq handling further down in
if_detach.
Reported-by: [email protected]
Reported-by: [email protected]
ok mvs@ bluhm@