[GIT PULL] KVM fixes for Linux 7.2-rc1
From: Paolo Bonzini
Date: Thu Jun 25 2026 - 08:31:35 EST
Linus,
The following changes since commit ef057cbf825e03b63f6edf5980f96abf3c53089d:
KVM: x86/mmu: Ensure hugepage is in by slot before checking max mapping level (2026-06-16 00:39:57 +0200)
are available in the Git repository at:
https://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus
for you to fetch changes up to 098e32cba334da0f3fa8cfd4e022ae7c72341400:
x86/apic: KVM: Use cpu_physical_id() to get APIC ID of running vCPU for AVIC (2026-06-24 07:52:24 -0400)
----------------------------------------------------------------
s390:
* Fix S390_USER_OPEREXEC so it can now be enabled regardless of other
unrelated capabilities
* Fix handling of the _PAGE_UNUSED pte bit that could lead to guest
memory corruption in some scenarios
* A bunch of misc gmap fixes (locking, behaviour under memory pressure)
* Fix CMMA dirty tracking
x86:
* Tidy up some WARN_ON() and BUG_ON(), replacing them with WARN_ON_ONCE()
or KVM_BUG_ON(). All of these have obviously never triggered, or
somebody would have been annoyed earlier, but still.
* Fix missing interrupt due to stale CR8 intercept
* Add a statistic that can come in handy to debug leaks as well as the
vulnerability to a class of recently-discovered issues.
* Do not ask arch/x86/kernel to export default_cpu_present_to_apicid()
just for KVM.
----------------------------------------------------------------
Carlos López (1):
KVM: x86: Unconditionally recompute CR8 intercept on PPR update
Claudio Imbrenda (9):
s390/mm: Fix handling of _PAGE_UNUSED pte bit
KVM: s390: Fix dat_peek_cmma() overflow
KVM: s390: Do not set special large pages dirty
KVM: s390: Fix code typo in gmap_protect_asce_top_level()
KVM: s390: Fix handle_{sske,pfmf} under memory pressure
KVM: s390: Fix locking in kvm_s390_set_mem_control()
KVM: s390: Fix cmma dirty tracking
KVM: s390: selftests: Fix cmma selftest
KVM: s390: Return failure in case of failure in kvm_s390_set_cmma_bits()
Eric Farman (3):
KVM: s390: Fix S390_USER_OPEREXEC enablement without STFLE 74
KVM: s390: selftests: Extended user_operexec tests
KVM: s390: Fix typo in UCONTROL documentation
Paolo Bonzini (1):
Merge tag 'kvm-s390-next-7.2-2' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
Sean Christopherson (9):
KVM: Replace guest-triggerable BUG_ON() in ioeventfd datamatch with get_unaligned()
KVM: x86: Replace BUG_ON() with WARN_ON_ONCE() on "bad" nested GPA translation
KVM: x86/mmu: Bug the VM, not the host kernel, if KVM write-protects upper SPTEs
KVM: x86: Bug the VM, not the kernel, if the ISR count {under,over}flows
KVM: x86: WARN and fail kvm_set_irq() if a PIC or I/O APIC vector is invalid
KVM: x86: WARN (once) if RTC pending EOI tracking goes off the rails
KVM: VMX: Grab vmcs12 on CR8 interception update iff vCPU is in guest mode
KVM: x86/mmu: Expose number of shadow MMU shadow pages as a stat
x86/apic: KVM: Use cpu_physical_id() to get APIC ID of running vCPU for AVIC
Documentation/virt/kvm/api.rst | 2 +-
arch/s390/include/asm/pgtable.h | 4 +-
arch/s390/kvm/dat.c | 5 +-
arch/s390/kvm/gmap.c | 37 +++++--
arch/s390/kvm/gmap.h | 12 ++-
arch/s390/kvm/kvm-s390.c | 71 ++++++++-----
arch/s390/kvm/priv.c | 10 +-
arch/s390/mm/gmap_helpers.c | 3 +-
arch/x86/include/asm/kvm_host.h | 12 +--
arch/x86/kernel/apic/apic_common.c | 1 -
arch/x86/kvm/i8259.c | 3 +-
arch/x86/kvm/ioapic.c | 7 +-
arch/x86/kvm/lapic.c | 6 +-
arch/x86/kvm/mmu/mmu.c | 14 +--
arch/x86/kvm/mmu/mmutrace.h | 2 +-
arch/x86/kvm/mmu/tdp_mmu.c | 8 +-
arch/x86/kvm/svm/avic.c | 6 +-
arch/x86/kvm/svm/nested.c | 3 +-
arch/x86/kvm/vmx/nested.c | 3 +-
arch/x86/kvm/vmx/vmx.c | 3 +-
arch/x86/kvm/x86.c | 6 +-
.../testing/selftests/kvm/include/s390/facility.h | 6 ++
tools/testing/selftests/kvm/s390/cmma_test.c | 6 ++
tools/testing/selftests/kvm/s390/user_operexec.c | 110 +++++++++++++++++++++
virt/kvm/eventfd.c | 12 +--
25 files changed, 266 insertions(+), 86 deletions(-)