Protect interface queues with read once and mutex.
authorbluhm <bluhm@openbsd.org>
Thu, 5 Oct 2023 11:08:56 +0000 (11:08 +0000)
committerbluhm <bluhm@openbsd.org>
Thu, 5 Oct 2023 11:08:56 +0000 (11:08 +0000)
commit37a618ff0e3b8e2e9e04053f139425739064f885
tree212638885d72759d701d3add6e9abeac79d23bfd
parent4048fd872ea30a5bed3e0e1adc63846f68aa0018
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@
sys/net/ifq.c
sys/net/ifq.h