CVSROOT:        /cvs
Module name:    src
Changes by:     d...@cvs.openbsd.org    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: syzbot+74f8141966171d61a...@syzkaller.appspotmail.com
Reported-by: syzbot+0177016a8bf3d5252...@syzkaller.appspotmail.com

ok mvs@ bluhm@

Reply via email to