Please pull a random variety of fixes for 6.15. The SRSO change is the most urgent fix, everything else has either existed for some time, or isn't actively causing problems. The following changes since commit 2d7124941a273c7233849a7a2bbfbeb7e28f1caa: Merge tag 'kvmarm-fixes-6.15-2' of https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD (2025-04-24 13:28:53 -0400) are available in the Git repository at: https://github.com/kvm-x86/linux.git tags/kvm-x86-fixes-6.15-rcN for you to fetch changes up to e3417ab75ab2e7dca6372a1bfa26b1be3ac5889e: KVM: SVM: Set/clear SRSO's BP_SPEC_REDUCE on 0 <=> 1 VM count transitions (2025-05-08 07:17:10 -0700) ---------------------------------------------------------------- KVM x86 fixes for 6.15-rcN - Forcibly leave SMM on SHUTDOWN interception on AMD CPUs to avoid causing problems due to KVM stuffing INIT on SHUTDOWN (KVM needs to sanitize the VMCB as its state is undefined after SHUTDOWN, emulating INIT is the least awful choice). - Track the valid sync/dirty fields in kvm_run as a u64 to ensure KVM KVM doesn't goof a sanity check in the future. - Free obsolete roots when (re)loading the MMU to fix a bug where pre-faulting memory can get stuck due to always encountering a stale root. - When dumping GHCB state, use KVM's snapshot instead of the raw GHCB page to print state, so that KVM doesn't print stale/wrong information. - When changing memory attributes (e.g. shared <=> private), add potential hugepage ranges to the mmu_invalidate_range_{start,end} set so that KVM doesn't create a shared/private hugepage when the the corresponding attributes will become mixed (the attributes are commited *after* KVM finishes the invalidation). - Rework the SRSO mitigation to enable BP_SPEC_REDUCE only when KVM has at least one active VM. Effectively BP_SPEC_REDUCE when KVM is loaded led to very measurable performance regressions for non-KVM workloads. ---------------------------------------------------------------- Dan Carpenter (1): KVM: x86: Check that the high 32bits are clear in kvm_arch_vcpu_ioctl_run() Mikhail Lobanov (1): KVM: SVM: Forcibly leave SMM mode on SHUTDOWN interception Sean Christopherson (2): KVM: x86/mmu: Prevent installing hugepages when mem attributes are changing KVM: SVM: Set/clear SRSO's BP_SPEC_REDUCE on 0 <=> 1 VM count transitions Tom Lendacky (1): KVM: SVM: Update dump_ghcb() to use the GHCB snapshot fields Yan Zhao (1): KVM: x86/mmu: Check and free obsolete roots in kvm_mmu_reload() arch/x86/kvm/mmu.h | 3 ++ arch/x86/kvm/mmu/mmu.c | 70 +++++++++++++++++++++++++++++++++++----------- arch/x86/kvm/smm.c | 1 + arch/x86/kvm/svm/sev.c | 32 ++++++++++++--------- arch/x86/kvm/svm/svm.c | 75 ++++++++++++++++++++++++++++++++++++++++++++++---- arch/x86/kvm/svm/svm.h | 2 ++ arch/x86/kvm/x86.c | 4 +-- 7 files changed, 150 insertions(+), 37 deletions(-)