CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2026/11/10 15:38:44
Modified files:
sys/uvm : Tag: OPENBSD_7_9 uvm_vnode.c
Log message:
Revert rev. 1.134 of uvm_vnode.c because it introduces a reference race
uo_refs is not really serialized by the vmobjlock and at least in
uvm_vnp_sync() it depends on the KERNEL_LOCK for that.
The optimisation done in 1.134 predates the rwlock rework done by dlg@
and is probably no longer important. The vmobjlock is still contended
but the wakeup storm resulting in massive KERNEL_LOCK spin is gone.
Reported by Acts1631
from claudio@; OK kettenis@ deraadt@
u_obj.uo_refs must be managed using atomic_inc_int_nv() and friends
or the reference counting and inspection can evaluate incorrect.
This affecs kbind.
from deraadt@; OK claudio@ krw@
diff from openai
this is errata/7.9/049_kbind.patch.sig