[GIT PULL] KVM fixes for Linux 7.2-rc5

From: Paolo Bonzini

Date: Tue Jul 21 2026 - 06:34:36 EST


Linus,

The following changes since commit fce2dfa773ced15f27dd27cd0b482a7473cdcf2a:

Merge tag 'v7.2-rc3-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 (2026-07-16 16:46:26 -0700)

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 e61e6fd4f139f2342a6bc86da602df7456ef87f6:

Merge tag 'kvm-riscv-fixes-7.2-1' of https://github.com/kvm-riscv/linux into HEAD (2026-07-21 12:25:45 +0200)

----------------------------------------------------------------
RISC-V:

- Avoid redundant allocations when allocating IMSIC page tables

- Apply SBI FWFT LOCK flag only on successful set

- Bound SBI PMU counter mask scan to BITS_PER_LONG, since on RV32
the PMU SBI start/stop helper can only access 32 PMU counters.

- Skip TLB flush when G-stage PTE becomes valid if the Svvptc
extension is available.

- Always show Zicbo[m|z|p] block sizes in ONE_REG

- Inject instruction access fault on unmapped guest fetch

- Use raw spinlock for irqs_pending and irqs_pending_mask

- Fix Spectre-v1 in vector register access via ONE_REG

x86:

- Fixes to SEV selftests.

- Once free_nested() did a VMCLEAR of shadow VMCS, there's no need to VMCLEAR it
again if the kernel is preempted and thread migration happens

- Preserve nested TDP shadow page tables if they are used as roots, instead of
clearing them unnecessarily

- Fix use of stale data if out-of-memory happens after vendor module reload

- Check for invalid/obsolete root *after* making MMU pages available, because
the latter can make a page invalid

- Only reset TSC Deadline Timer in apic_timer_expired on KVM_RUN

----------------------------------------------------------------
Anup Patel (1):
RISC-V: KVM: Zicbo[m|z|p] block sizes should be always present in ONE_REG

David Woodhouse (2):
KVM: selftests: sev_smoke_test: Only run VM types the host offers
KVM: selftests: sev_init2_tests: Derive SEV availability from KVM

Dylan.Wu (1):
riscv: kvm: Skip TLB flush when G-stage PTE becomes valid with Svvptc

Fangyu Yu (1):
RISC-V: KVM: Avoid redundant page-table allocations in ioremap topup

Hyunwoo Kim (2):
KVM: nVMX: Hide shadow VMCS right after VMCLEAR
KVM: x86/mmu: Preserve nested TDP shadow page tables if they are used as roots

Paolo Bonzini (1):
Merge tag 'kvm-riscv-fixes-7.2-1' of https://github.com/kvm-riscv/linux into HEAD

Phil Rosenthal (1):
KVM: x86/mmu: Fix use-after-free on vendor module reload

Qingwei Hu (1):
RISC-V: KVM: Inject instruction access fault on unmapped guest fetch

Sean Christopherson (1):
KVM: x86: Check for invalid/obsolete root *after* making MMU pages available

SeungJu Cheon (1):
KVM: riscv: SBI FWFT: Apply LOCK flag only on successful set

Shengwen Cheng (1):
KVM: riscv: PMU: Bound counter mask scan to BITS_PER_LONG

Venkatesh Srinivas (1):
KVM: x86: Only reset TSC Deadline Timer in apic_timer_expired on KVM_RUN

Xie Bo (1):
RISC-V: KVM: Serialize virtual interrupt pending state updates

Zongmin Zhou (1):
KVM: riscv: Fix Spectre-v1 in vector register access

arch/riscv/include/asm/kvm_host.h | 10 ++--
arch/riscv/kvm/aia.c | 35 +++++++++---
arch/riscv/kvm/gstage.c | 6 +-
arch/riscv/kvm/mmu.c | 3 +-
arch/riscv/kvm/vcpu.c | 68 ++++++++++++++++-------
arch/riscv/kvm/vcpu_exit.c | 19 +++++++
arch/riscv/kvm/vcpu_onereg.c | 46 ++++-----------
arch/riscv/kvm/vcpu_pmu.c | 4 +-
arch/riscv/kvm/vcpu_sbi_fwft.c | 6 +-
arch/riscv/kvm/vcpu_vector.c | 14 ++++-
arch/x86/kvm/lapic.c | 2 +-
arch/x86/kvm/mmu/mmu.c | 12 ++--
arch/x86/kvm/mmu/paging_tmpl.h | 10 ++--
arch/x86/kvm/vmx/nested.c | 11 +++-
tools/testing/selftests/kvm/x86/sev_init2_tests.c | 16 ++++--
tools/testing/selftests/kvm/x86/sev_smoke_test.c | 9 ++-
16 files changed, 180 insertions(+), 91 deletions(-)