]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
KVM: SVM: Disallow EFER.LMSLE when not supported by hardware
authorJim Mattson <jmattson@google.com>
Wed, 1 Oct 2025 00:14:08 +0000 (17:14 -0700)
committerSean Christopherson <seanjc@google.com>
Wed, 15 Oct 2025 17:57:21 +0000 (10:57 -0700)
commitc53c632592a427bc01266a8ce7e2f17555a3c247
tree5f9f5f57bd376fb3d224c35e638cba9825b823e7
parent4793f990ea1523309a58d8fb5237b3a815e6f537
KVM: SVM: Disallow EFER.LMSLE when not supported by hardware

Modern AMD CPUs do not support segment limit checks in 64-bit mode
(i.e. EFER.LMSLE must be zero). Do not allow a guest to set EFER.LMSLE
on a CPU that requires the bit to be zero.

For backwards compatibility, allow EFER.LMSLE to be set on CPUs that
support segment limit checks in 64-bit mode, even though KVM's
implementation of the feature is incomplete (e.g. KVM's emulator does
not enforce segment limits in 64-bit mode).

Fixes: eec4b140c924 ("KVM: SVM: Allow EFER.LMSLE to be set with nested svm")
Signed-off-by: Jim Mattson <jmattson@google.com>
Reviewed-by: Nikunj A Dadhania <nikunj@amd.com>
Reviewed-by: Yosry Ahmed <yosry.ahmed@linux.dev>
Link: https://lore.kernel.org/r/20251001001529.1119031-3-jmattson@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/svm/svm.c