Commit eff8d2791c08 for kernel

commit eff8d2791c086388ba5bae36385afd9bc6f0507e
Merge: 6812ce4e4379 c2f24f140c2e
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sat Sep 26 08:26:12 2026 -0700

    Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

    Pull kvm fixes from Paolo Bonzini:
     "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"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (54 commits)
      KVM: SEV: Do cache maintenance on the source VM during intra-host migration
      KVM: SEV: Free have_run_cpus during VM destruction even if VM is no longer SEV
      KVM: Don't pre-reserve xarray entries when storing empty/NULL attributes
      KVM: Ensure memory attributes xarray nodes are accounted to the caller's memcg
      KVM: Don't treat reserved xarray entries as having memory attributes
      KVM: x86: Fill kvm_run exit fields in common get_nested_state_pages() error paths
      KVM: x86: Re-pend GET_NESTED_STATE_PAGES if getting said pages fails
      KVM: arm64: Fix AArch32 DBGBXVR<n> handling
      KVM: arm64: Fix FGT mapping for HFGITR_EL2.nGCSEPP
      KVM: selftests: fix steal_time for arm64 with host page size > 4K
      KVM: arm64: Don't WARN on an unknown VM ioctl in protected mode
      KVM: arm64: nv: Delay freeing of shadow S2 structures until VM destruction
      KVM: arm64: nv: Fix life cycle of the nested_mmus array
      KVM: arm64: Check every private mapping is hyp-owned at pKVM init
      KVM: arm64: Move the private VA allocation cursor to __io_map_next
      KVM: arm64: Match hyp text by physical address in fix_host_ownership()
      KVM: arm64: Transfer the hyp stack pages out of the host stage-2
      KVM: arm64: selftests: Test empty SMCCC filter range at base 0
      KVM: arm64: Return -EINVAL for an empty SMCCC filter range at base 0
      KVM: arm64: Derive GUEST_HAS_SVE from the SVE feature bit at EL2
      ...