optimize locking against vm changes for mmap/munmap
authorRich Felker <dalias@aerifal.cx>
Sat, 16 Aug 2014 06:41:45 +0000 (02:41 -0400)
committerRich Felker <dalias@aerifal.cx>
Sat, 16 Aug 2014 06:41:45 +0000 (02:41 -0400)
commit25d12fc0fc51f1fae0f85b4649a6463eb805aa8f
tree31307fc1e70d71c67592f5b405d0f01fce894713
parentb092f1c5fa9c048e12d002c7b972df5ecbe96d1d
optimize locking against vm changes for mmap/munmap

the whole point of this locking is to prevent munmap, or mmap with
MAP_FIXED, from deallocating virtual addresses, or changing the
backing a given virtual address refers to, during certain race windows
involving self-synchronized unmapping or destruction of pthread
synchronization objects. there is no need for exclusion in the other
direction, so it suffices to take the lock momentarily and release it
before making the syscall, rather than holding it across the syscall.
src/mman/mmap.c
src/mman/munmap.c