mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [GIT PULL] KVM changes for 7.3-rc5
@ 2026-09-26  6:16 Paolo Bonzini
  2026-09-27 19:47 ` pr-tracker-bot
  0 siblings, 1 reply; 2+ messages in thread
From: Paolo Bonzini @ 2026-09-26  6:16 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, kvm

Linus,

The following changes since commit fd73f4a6659897191fa0d40695fe370925dd3780:

  Linux 7.3-rc3 (2026-09-13 14:38:02 -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 c2f24f140c2ee6c00775c2a93c6ac931acec2b60:

  Merge tag 'kvm-x86-fixes-7.3-rc5' of https://github.com/kvm-x86/linux into HEAD (2026-09-26 00:40:07 -0400)

A very large number of fixes.  In terms of lines of code what dominates is
a selftest and a couple pKVM files (arch/arm64/kvm/hyp/nvhe), but there's
a lot of stuff that accumulated since rc1.  I'll send more next week.

Paolo
----------------------------------------------------------------
Arm:

- Invalidate the ITS translation cache when the guest changes the
  base address of the ITS tables (Fuad Tabba)

- Skip saving ITS devices with device IDs that are out-of-bounds
  rather than failing the entire ITS save ioctl (Fuad Tabba)

- Close race between VM teardown and invalidations of nested MMUs
  when handling MMU operations that are allowed to block
  (Lorenzo Stoakes)

- Various fixes for the handling of the host's untrusted SVE
  configuration in pKVM (Fuad Tabba)

- Make sure that empty SMCCC ranges based at 0 are rejected by the
  kvm_smccc_set_filter() (Karl Mehltretter)

- Revoke the host mapping for pKVM's private stack pages, along
  with a new sanity check that all mappings in the hyp's private
  VA range have been correctly marked as hyp-owned (Fuad Tabba)

- Lifetime fixes for the array of shadow stage-2 MMUs, ensuring that
  concurrent vCPU initialization cannot relocate in-use MMUs. Defer
  the freeing of shadow stage-2 MMUs to the point that no other users
  (e.g. MMU notifier) could reference them (Marc Zyngier)

- Drop useless WARN when rejecting an unsupported ioctl for pKVM
  (Fuad Tabba)

- Fix the steal_time selftest to install correctly-sized mappings for
  non-4K hosts (Sebastian Ott)

- Correct mapping of fine-grained trap for GCSPOPX instruction
  (Mark Brown)

- Fix KVM_BUG_ON() due to missing handling of DBGBXVR<n> from 32-bit
  guests (Karl Mehltretter)

RISC-V:

- Synchronize hrtimer during VCPU teardown.

- Fix the conversion between vsip and hvip values.

- Serialize IMSIC attributes with vCPU migration.

- Release unused page after MMU invalidation.

- Propagate interrupted G-stage faults to KVM user-space as EINTR.

- Fix nested acceleration hfence entry update order.

- Fix sdata leak and stale snapshot_addr in snapshot_set_shmem.

- Preserve firmware counter value across PMU counter stop/start.

- Report PMU snapshot write failure to the guest.

- Fix perf-backed counter accounting across PMU stop and read.

- Correctly propagate error of a hart status SBI call.

s390:

- Ensure that accesses through kvm_arch_set_irq_inatomic mark as dirty
  the pages that contain indicator and summary bits.

- Fix compile warning for kvm_s390_update_cmma_dirty().

- Fix incorrect propagation of ENOENT from _gaccess_shadow_fault() to
  userspace.

- Move s390_kvm_mmu_commit_memory_region() into
  s390_kvm_mmu_prepare_memory_region() so that it can fail instead of WARN.

- Add missing srcu in kvm_s390_set_irq_state().

- Fix potential races in storage functions.

- Fix race in _destroy_pages_crste().

- Fix issues in the handling of KVM interrupt and page resources, when a
  queue that is assigned to a mediated device (mdev) is removed from the
  host's AP configuration.

- Fix loop condition in uv_find_secrets.

- Prevent potential out-of-bounds read.

x86:

- Fix a brown paper bag bug where KVM would incorrectly treat Intel PMU MSRs
  as valid on AMD.

- Fix a regression in the hardware disable selftest where it checked the wrong
  macro when detecting glibc support (breaks at least musl).

- Never clear KVM_REQ_VM_DEAD so that dead VMs stay dead, which is especially
  important for KVM_BUG_ON() flows, which often guard more dangerous bugs.

- Re-pend GET_NESTED_STATE_PAGES if getting the pages fails, to fix a bug
  where KVM would let userspace run a broken setup with stale vmcs12 pages.

- Fix a class of bugs where KVM would fail to fill kvm_run exit fields if
  getting nested pages failed.

- Treat reserved entries in the memory attributes xarray as "no attributes",
  to fix false positives when checking for mixed attributes.

- Fix memcg accounting for the memory attributes xarray (the xarray library
  subtly requires the xarray to be configured for accounting upfront; the gfp
  flags taken at runtime are used only rarely).

- Don't pre-reserve xarray entries when storing empty attributes, as storing
  NULL must not require memory allocation (KVM and other subsystems heavily
  rely on this behavior).

- Fix a memory leak and a cache maintenance issue related to doing intra-host
  migration on an SEV guest.

----------------------------------------------------------------
Anthony Krowiak (1):
      s390/vfio-ap: fix KVM GISC and page leak when queue removed from host config

Claudio Imbrenda (8):
      KVM: s390: Fix dirty marking in adapter_indicators_set*()
      KVM: s390: Fix compile warning for kvm_s390_update_cmma_dirty()
      KVM: s390: Fix _gaccess_shadow_fault()
      KVM: s390: Refactor dat_set_slot()
      KVM: s390: Move all code into s390_kvm_mmu_prepare_memory_region()
      KVM: s390: Add missing srcu in kvm_s390_set_irq_state()
      KVM: s390: Fix potential races in dat skey functions
      KVM: s390: Fix race in _destroy_pages_crste()

David Ballesteros (1):
      KVM: Ensure memory attributes xarray nodes are accounted to the caller's memcg

Fuad Tabba (13):
      KVM: arm64: vgic-its: Free the caches when GITS_BASER changes
      Revert "KVM: arm64: vgic-its: Don't save collections the table cannot hold"
      KVM: arm64: vgic-its: Skip unreachable devices instead of failing the save
      KVM: arm64: selftests: Add ITS table save tests
      KVM: arm64: Validate the SVE vector length in pkvm_vcpu_init_sve()
      KVM: arm64: Do not clear VM-wide SVE feature on vCPU init failure
      KVM: arm64: Key unpin_host_sve_state() on the state it unpins
      KVM: arm64: Derive GUEST_HAS_SVE from the SVE feature bit at EL2
      KVM: arm64: Transfer the hyp stack pages out of the host stage-2
      KVM: arm64: Match hyp text by physical address in fix_host_ownership()
      KVM: arm64: Move the private VA allocation cursor to __io_map_next
      KVM: arm64: Check every private mapping is hyp-owned at pKVM init
      KVM: arm64: Don't WARN on an unknown VM ioctl in protected mode

Jim Mattson (1):
      KVM: x86/pmu: Move Intel PMU global MSRs to intel_is_valid_msr()

Karl Mehltretter (3):
      KVM: arm64: Return -EINVAL for an empty SMCCC filter range at base 0
      KVM: arm64: selftests: Test empty SMCCC filter range at base 0
      KVM: arm64: Fix AArch32 DBGBXVR<n> handling

Lorenzo Stoakes (ARM) (2):
      KVM: arm64: Fix spurious warning for benign stage 2 teardown race
      KVM: arm64: nv: Fix null ptr deref on nested wp/unmap, teardown race

Marc Zyngier (2):
      KVM: arm64: nv: Fix life cycle of the nested_mmus array
      KVM: arm64: nv: Delay freeing of shadow S2 structures until VM destruction

Mark Brown (1):
      KVM: arm64: Fix FGT mapping for HFGITR_EL2.nGCSEPP

Myeonghun Pak (1):
      RISC-V: KVM: Synchronize hrtimer callback during teardown

Paolo Bonzini (4):
      Merge tag 'kvm-s390-master-7.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
      Merge tag 'kvmarm-fixes-7.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
      Merge tag 'kvm-riscv-fixes-7.3-1' of https://github.com/kvm-riscv/linux into HEAD
      Merge tag 'kvm-x86-fixes-7.3-rc5' of https://github.com/kvm-x86/linux into HEAD

Sean Christopherson (6):
      KVM: selftests: Use __GLIBC__, not _GNU_SOURCE, to detect actual glibc
      KVM: Never clear KVM_REQ_VM_DEAD from a vCPU's requests
      KVM: x86: Re-pend GET_NESTED_STATE_PAGES if getting said pages fails
      KVM: x86: Fill kvm_run exit fields in common get_nested_state_pages() error paths
      KVM: SEV: Free have_run_cpus during VM destruction even if VM is no longer SEV
      KVM: SEV: Do cache maintenance on the source VM during intra-host migration

Sebastian Ott (1):
      KVM: selftests: fix steal_time for arm64 with host page size > 4K

SeungJu Cheon (3):
      RISC-V: KVM: Preserve firmware counter value across stop/start
      RISC-V: KVM: Report snapshot write failure to the guest
      RISC-V: KVM: Fix perf-backed counter accounting across stop and read

Steffen Eiden (2):
      s390/uv: Fix loop condition in uv_find_secrets
      s390/uv: Prevent potential out-of-bounds read

Tan Chi (1):
      RISC-V: KVM: Fix HSM hart status error propagation

Xie Bo (3):
      RISC-V: KVM: Serialize IMSIC attributes with vCPU migration
      RISC-V: KVM: Release unused page after MMU invalidation
      RISC-V: KVM: Propagate interrupted G-stage faults

Yicong Yang (1):
      RISC-V: KVM: Fix the conversion between vsip and hvip

Zeng Chi (2):
      KVM: Don't treat reserved xarray entries as having memory attributes
      KVM: Don't pre-reserve xarray entries when storing empty/NULL attributes

Zongmin Zhou (2):
      KVM: riscv: Fix NACL hfence entry update order
      RISC-V: KVM: Fix sdata leak and stale snapshot_addr in snapshot_set_shmem

 arch/arm64/include/asm/kvm_host.h                  |   2 +-
 arch/arm64/include/asm/kvm_nested.h                |   3 +-
 arch/arm64/include/asm/kvm_pkvm.h                  |   3 +-
 arch/arm64/kvm/arm.c                               |  10 +-
 arch/arm64/kvm/emulate-nested.c                    |   2 +-
 arch/arm64/kvm/hyp/include/nvhe/mem_protect.h      |   2 +
 arch/arm64/kvm/hyp/include/nvhe/mm.h               |   1 +
 arch/arm64/kvm/hyp/nvhe/mem_protect.c              |  20 +
 arch/arm64/kvm/hyp/nvhe/mm.c                       |  79 +++-
 arch/arm64/kvm/hyp/nvhe/pkvm.c                     |  29 +-
 arch/arm64/kvm/hyp/nvhe/setup.c                    |  16 +-
 arch/arm64/kvm/hypercalls.c                        |   3 +-
 arch/arm64/kvm/mmu.c                               |  15 +-
 arch/arm64/kvm/nested.c                            | 115 +++---
 arch/arm64/kvm/sys_regs.c                          |   1 +
 arch/arm64/kvm/vgic/vgic-its.c                     |  46 ++-
 arch/riscv/include/asm/csr.h                       |  20 +-
 arch/riscv/kvm/aia_imsic.c                         |  11 +-
 arch/riscv/kvm/mmu.c                               |  10 +-
 arch/riscv/kvm/nacl.c                              |  20 +-
 arch/riscv/kvm/vcpu.c                              |   3 +-
 arch/riscv/kvm/vcpu_exit.c                         |   2 +-
 arch/riscv/kvm/vcpu_onereg.c                       |   8 +-
 arch/riscv/kvm/vcpu_pmu.c                          |  41 +-
 arch/riscv/kvm/vcpu_sbi_hsm.c                      |   4 +-
 arch/riscv/kvm/vcpu_timer.c                        |   5 +-
 arch/s390/kernel/uv.c                              |   8 +-
 arch/s390/kvm/gmap/dat.c                           |  65 +--
 arch/s390/kvm/gmap/dat.h                           |  10 +-
 arch/s390/kvm/gmap/gmap.c                          |   6 +-
 arch/s390/kvm/gmap/kvm_mmu.c                       |  91 ++---
 arch/s390/kvm/gmap/kvm_mmu.h                       |   4 -
 arch/s390/kvm/s390/gaccess.c                       |  13 +
 arch/s390/kvm/s390/interrupt.c                     |  81 ++--
 arch/s390/kvm/s390/s390.c                          |   3 +-
 arch/s390/kvm/s390/s390.h                          |   2 +-
 arch/x86/kvm/mmu/mmu.c                             |   2 +-
 arch/x86/kvm/pmu.c                                 |   8 -
 arch/x86/kvm/svm/nested.c                          |   7 +-
 arch/x86/kvm/svm/sev.c                             |  18 +-
 arch/x86/kvm/vmx/nested.c                          |  15 +-
 arch/x86/kvm/vmx/pmu_intel.c                       |   3 +
 arch/x86/kvm/vmx/tdx.c                             |   2 +-
 arch/x86/kvm/x86.c                                 |   6 +-
 drivers/s390/crypto/vfio_ap_ops.c                  |  18 +-
 include/linux/kvm_host.h                           |   9 +-
 tools/arch/riscv/include/asm/csr.h                 |  20 +-
 tools/testing/selftests/kvm/Makefile.kvm           |   1 +
 tools/testing/selftests/kvm/arm64/smccc_filter.c   |   4 +
 tools/testing/selftests/kvm/arm64/vgic_its_save.c  | 441 +++++++++++++++++++++
 .../testing/selftests/kvm/hardware_disable_test.c  |   6 +-
 tools/testing/selftests/kvm/steal_time.c           |  30 +-
 virt/kvm/kvm_main.c                                |  35 +-
 53 files changed, 1032 insertions(+), 347 deletions(-)
 create mode 100644 tools/testing/selftests/kvm/arm64/vgic_its_save.c


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-09-27 19:49 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-26  6:16 [GIT PULL] KVM changes for 7.3-rc5 Paolo Bonzini
2026-09-27 19:47 ` pr-tracker-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®