On Sat, Jan 23, 2021 at 03:34:46PM -0700, Mike Larkin wrote: > CVSROOT: /cvs > Module name: src > Changes by: mlar...@cvs.openbsd.org 2021/01/23 15:34:46 > > Modified files: > sys/arch/amd64/amd64: vmm.c > > Log message: > vmm(4): wire faulted in pages > > This change wires the pages used by virtual machines managed by vmm(4). > When uvm swaps out a page, vmm(4) does not properly do TLB flushing, > possibly leading to memory corruption or improper page access later. > > While this diff is not the correct fix (implementing proper TLB flush > semantics), it does work around the problem by not letting the pages > get swapped out in the first place. > > This means that under memory pressure, swap pages will have to come > from other processes, and it also means you cannot overcommit vmm(4) > memory assignment (eg, assign more memory to VMs than you actually > have). > > It is my plan to fix this the correct way, but that will take time. > > This issue was originally pointed out a long time ago by Maxime V., but > due to my taking a year away from OpenBSD, the issue remained unfixed. >
This was ok kettenis@ and deraadt@