]> git.ipfire.org Git - thirdparty/linux.git/commit
KVM: SVM: Limit incorrect check on SVM_EXIT_ERR to running as a VM
authorSean Christopherson <seanjc@google.com>
Tue, 30 Dec 2025 21:13:45 +0000 (13:13 -0800)
committerSean Christopherson <seanjc@google.com>
Wed, 14 Jan 2026 01:37:03 +0000 (17:37 -0800)
commita08ca6691fd3ab40e40eb6600193672d50c7a7ba
treeac1c6c23869f2a5b42faa67363614d01890d8001
parentd7507a94a07202234236d7f94bed6015ca645ae6
KVM: SVM: Limit incorrect check on SVM_EXIT_ERR to running as a VM

Limit KVM's incorrect check for VMXEXIT_INVALID, a.k.a. SVM_EXIT_ERR, to
running as a VM, as detected by X86_FEATURE_HYPERVISOR.  The exit_code and
all failure codes, e.g. VMXEXIT_INVALID, are 64-bit values, and so checking
only bits 31:0 could result in false positives when running on non-broken
hardware, e.g. in the extremely unlikely scenario exit code 0xffffffffull
is ever generated by hardware.

Keep the 32-bit check to play nice with running on broken KVM (for years,
KVM has not set bits 63:32 when synthesizing nested SVM VM-Exits).

Reviewed-by: Yosry Ahmed <yosry.ahmed@linux.dev>
Link: https://patch.msgid.link/20251230211347.4099600-7-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/svm/svm.h