vmm(4): add limit to number of vcpus
authordv <dv@openbsd.org>
Mon, 13 Sep 2021 22:16:27 +0000 (22:16 +0000)
committerdv <dv@openbsd.org>
Mon, 13 Sep 2021 22:16:27 +0000 (22:16 +0000)
commit8e3b4c1f83f1d72192462b7c738fa33755b4eea7
tree728f5482c420b01a8ea09093dcbdc8bcfaa440f9
parent9034e431649c0e5d57caf64980ea835d7a4732ef
vmm(4): add limit to number of vcpus

After fixing previous syzbot issues related to lock contention, the reproducer code managed to hit an issue where it can exhaust kernel memory by allocating vcpus. Since each vcpu (regardless if it's SVM or VMX-capable) requires wiring some number of pages of memory, it was possible to starve other parts of the kernel.

This change limits the total number of vcpus to 512, a conservative number given vmm(4) only supports single vcpu guests at the moment.

ok mlarkin@
sys/arch/amd64/amd64/vmm.c
sys/arch/amd64/include/vmmvar.h