CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2025/06/02 12:49:04
Modified files:
sys/arch/alpha/alpha: pmap.c
sys/arch/alpha/include: pmap.h
sys/arch/i386/include: pmap.h
sys/arch/m88k/include: pmap.h
sys/arch/m88k/m88k: pmap.c
sys/arch/mips64/include: pmap.h
sys/arch/mips64/mips64: pmap.c
sys/arch/sparc64/include: pmap.h
sys/arch/sparc64/sparc64: db_interface.c pmap.c
sys/uvm : uvm_glue.c uvm_glue.h uvm_pdaemon.c uvm_pmap.h
Log message:
Collect uvm_swapout_threads(), pmap_collect() and __HAVE_PMAP_COLLECT and
take them behind the shed.
The uvm code used to call into pmap_collect is overly optimistic and
thinks that a process that has all its thread sleeping will remain like
that for while without holding any relevant locks.
This is combined with the fact that pmap_collect functions are not MP safe.
The result are bad use-after-free errors. Since only a few archs implement
this feature it is probably better to just remove it then trying to fix
all of the issues.
OK mpi@, kettenis@, deraadt@