Revert commitid: KtmyJEoS0WWxmlZ5
authorclaudio <claudio@openbsd.org>
Sun, 8 Oct 2023 07:44:52 +0000 (07:44 +0000)
committerclaudio <claudio@openbsd.org>
Sun, 8 Oct 2023 07:44:52 +0000 (07:44 +0000)
commit33aa5105d87e5570263352f07d0968142c866c2f
tree08dea069e4267af9da6916f5513d6fa4e1ac3198
parentdb2ddd1af19e73974a366b2d730cdf1d09e0c88b
Revert commitid: KtmyJEoS0WWxmlZ5
---
Protect interface queues with read once and mutex.

Reading atomic values need at least read once and writing values
should have a mutex.  This is what mbuf queues already do.  Add
READ_ONCE() to ifq and ifiq macros for len and empty.  Convert
ifq_set_maxlen() to a function that grabs ifq_mtx.

OK mvs@
---

ifq_set_maxlen() is called before the ifq_mtx is initalized and this at
least crashes WITNESS kernels on boot.

Reported-by: syzbot+7b218ef53432b5d56d7d@syzkaller.appspotmail.com
sys/net/ifq.c
sys/net/ifq.h