kqueue: Fix race condition in knote_remove()
authorvisa <visa@openbsd.org>
Thu, 12 May 2022 13:33:00 +0000 (13:33 +0000)
committervisa <visa@openbsd.org>
Thu, 12 May 2022 13:33:00 +0000 (13:33 +0000)
commit1789dd4eb95259e423d89763d5da99ea11950664
tree5789a470705485e8936828d6bb8fff6f7bc4c696
parent969cd8c7fb85132ded1158a8124ffe5c232a5872
kqueue: Fix race condition in knote_remove()

Always fetch the knlist array pointer at the start of every iteration
in knote_remove(). This prevents the use of a stale pointer after
another thread has simultaneously reallocated the kq_knlist array.

Reported and tested by and OK jsing@
sys/kern/kern_event.c