Module Name: src Committed By: thorpej Date: Thu Apr 30 04:18:07 UTC 2020
Modified Files: src/sys/uvm: uvm_map.c src/tests/lib/libc/sys: t_futex_ops.c Log Message: - In uvm_voaddr_acquire(), take an extra hold on the anon lock obj. - In uvm_voaddr_release(), if the anon ref count drops to 0, call uvm_anfree() rather than uvm_anon_release(). Unconditionally drop the anon lock, and release the extra hold on the anon lock obj. Fixes a panic that occurs if the backing store for a futex backed by an anon memory location is unmapped while a thread is waiting in the futex. Add a test case that reproduced the panic to verify that it's fixed. To generate a diff of this commit: cvs rdiff -u -r1.381 -r1.382 src/sys/uvm/uvm_map.c cvs rdiff -u -r1.2 -r1.3 src/tests/lib/libc/sys/t_futex_ops.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.