[PATCH 0/7] KVM: x86: EFER validity fixes and cleanups
From: Yosry Ahmed
Date: Tue Jun 30 2026 - 19:47:37 EST
A couple of bug fixes for EFER validity checks, namely not doing any on
KVM_SET_SREGS*, and incorrectly preserving EFER.SVME and EFER.LMSLE
state after module unload+load.
The rest of the series reworks EFER supported bits and moves them into
kvm_caps, ensuring they are always reinitialized on vendor module init.
The final patch adds test cases to set_sregs that catch the bug fixed by
patch 1.
Yosry Ahmed (7):
KVM: x86: Check EFER validity on KVM_SET_SREGS*
KVM: SVM: Disallow EFER.SVME and EFER.LSMLE if nested is disabled
KVM: x86: Disallow EFER.LME and EFER.LMA if long mode is not supported
KVM: x86: Add a per-vendor callback to setup EFER caps
KVM: x86: Reverse the polarity of efer_reserved_bits
KVM: x86: Move supported EFER bits to kvm_caps
KVM: selftests: Extend set_sregs test to cover EFER
arch/x86/include/asm/kvm-x86-ops.h | 1 +
arch/x86/include/asm/kvm_host.h | 3 +
arch/x86/kvm/msrs.c | 21 +----
arch/x86/kvm/msrs.h | 1 +
arch/x86/kvm/regs.c | 3 +-
arch/x86/kvm/svm/svm.c | 14 +++-
arch/x86/kvm/x86.c | 18 ++--
.../selftests/kvm/include/x86/processor.h | 2 +
.../selftests/kvm/x86/set_sregs_test.c | 83 ++++++++++++++-----
9 files changed, 96 insertions(+), 50 deletions(-)
base-commit: 50406d35f5635e1cc523e61409d57e851b5f5df8
--
2.55.0.rc0.799.gd6f94ed593-goog