Unlock minherit(2)
authorkn <kn@openbsd.org>
Sat, 17 Dec 2022 13:42:59 +0000 (13:42 +0000)
committerkn <kn@openbsd.org>
Sat, 17 Dec 2022 13:42:59 +0000 (13:42 +0000)
commit1e5f4b2192659b8c8e40a7789e61e2e3fe177a34
tree3e944fd332d79219dd55747d98e0dae4221d24b7
parentfd234164486fe9ebd5c126cc1d6d271ce766e15c
Unlock minherit(2)

struct uvm_map's .addr is protected by the map's lock and .{min,max}_offset
are immutable.

uvm_map_inherit() locks the VM map upon entry, sets the desired inheritance
mode for the given address range (validated outside the lock) and unlocks
the map itself.

fork(2), i.e. uvm_mapent_forkcopy(), first locks both old and new maps and
then copies entries over as per the inheritance type.

futex(2), another user of struct vm_map_entry's .inheritance member, also
locks the map accordingly.

OK mpi
sys/kern/syscalls.master