vmm(4)/vmx: avoid VPID leakage by allocating at vcpu init.
authordv <dv@openbsd.org>
Tue, 3 Sep 2024 13:36:19 +0000 (13:36 +0000)
committerdv <dv@openbsd.org>
Tue, 3 Sep 2024 13:36:19 +0000 (13:36 +0000)
commit04c660e357877d627f1bb36e317572bef05b3296
tree26b9cbbf2dcf15fd71eb48ea4b00738e319a39cc
parentdbcd1c314468e7ea6cab33211202845830473fd6
vmm(4)/vmx: avoid VPID leakage by allocating at vcpu init.

VPID allocation being dependent on the host and guest config
(consequently pushing it into the reset register handler) creates
a leak where previous VPIDs are not freed if the hypervisor program
resets a vcpu's registers.

Recent SVM related changes pulled the VPID (ASID in AMD world)
allocation up into vcpu initialization. This change does the same
for VMX and cleans up appropriate logic. Minor changes to keep SVM
and VMX styles in line with each other.

ok bluhm@
sys/arch/amd64/amd64/vmm_machdep.c