Re: [PATCH v4 00/17] KVM: nVMX: Adjust VMPTRLD/VMPTRST behavior with active eVMCS
From: Sean Christopherson
Date: Mon Sep 21 2026 - 11:11:53 EST
On Thu, 03 Sep 2026 17:24:06 -0700, Sean Christopherson wrote:
> The first four patches are Vitaly's series to adjust KVM's emulation of
> VMPTRLD/VMPTRST when the vCPU has an active eVMCS to match Hyper-V, and more
> importantly to not put the vCPU into an infinite loop.
>
> The churn piled on top came from wanting to use KVM_ASM_SAFE() for more VMX
> instructions to verify the RFLAGS bug+fix Sashiko pointed out, lack impulse
> control when it comes to cleanups, and Yosry being a bad/good influence.
>
> [...]
Applied to kvm-x86 selftests. Yes, really, that's not a typo. I didn't want
to split the nVMX fixes from their testcases, and this series ended up being
99% selftests and 1% nVMX.
[01/17] KVM: nVMX: Make VMPTRLD result in #UD when eVMCS is used
https://github.com/kvm-x86/linux/commit/35097cefedaf
[02/17] KVM: nVMX: Make VMPTRST return eVMCS GPA when it is used
https://github.com/kvm-x86/linux/commit/5b1acaadcdcb
[03/17] KVM: selftests: Don't clobber RFLAGS in happy path of __KVM_ASM_SAFE()
https://github.com/kvm-x86/linux/commit/be7875808fcd
[04/17] KVM: selftests: Adapt to the updated VMPTRST behavior when eVMCS is used
https://github.com/kvm-x86/linux/commit/455919e76945
[05/17] KVM: selftests: Check VMPTRLD with active eVMCS
https://github.com/kvm-x86/linux/commit/0d6e35f6ab7d
[06/17] KVM: selftests: Assert success in vmptrst(), kill off vmptrstz()
https://github.com/kvm-x86/linux/commit/f1d4e357a695
[07/17] KVM: selftests: Always assert that vmxon() and prepare_for_vmx_operation() succeed
https://github.com/kvm-x86/linux/commit/154b098cada9
[08/17] KVM: selftests: Always assert that vmclear() succeeds
https://github.com/kvm-x86/linux/commit/5f73777a27b1
[09/17] KVM: selftests: Always assert that vmptrld() succeeds
https://github.com/kvm-x86/linux/commit/9007b746aeb5
[10/17] KVM: selftests: Drop useless return code from load_vmcs()
https://github.com/kvm-x86/linux/commit/f2bad303f403
[11/17] KVM: selftests: Add macros to handle simple VMX instructions
https://github.com/kvm-x86/linux/commit/b2f44e713c6d
[12/17] KVM: selftests: Drop dead return code from evmcs_vmptrld() and load_evmcs()
https://github.com/kvm-x86/linux/commit/776334470450
[13/17] KVM: selftests: Dedup assembly code for VMLAUNCH and VMRESUME
https://github.com/kvm-x86/linux/commit/978c4df4b245
[14/17] KVM: selftests: Assert success in vmlaunch() and vmresume()
https://github.com/kvm-x86/linux/commit/5adf7087cfd2
[15/17] KVM: selftests: Add __vmwrite() and use it when initializing optional fields.
https://github.com/kvm-x86/linux/commit/68b94d08f9dc
[16/17] KVM: selftests: Always assert that vmwrite() succeeds
https://github.com/kvm-x86/linux/commit/6ecd351628f3
[17/17] KVM: selftests: Always assert that vmreadz() succeeds
https://github.com/kvm-x86/linux/commit/4e824a04d4fa
--
https://github.com/kvm-x86/linux/tree/next