[GIT PULL] KVM changes for Linux 7.1-rc7

From: Paolo Bonzini

Date: Fri Jun 05 2026 - 13:20:14 EST


Linus,

The following changes since commit e43ffb69e0438cddd72aaa30898b4dc446f664f8:

Linux 7.1-rc6 (2026-05-31 15:14:24 -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 7ec0360122d8f5033177ed0210d5ad71ec5b50c7:

Merge tag 'kvmarm-fixes-7.1-5' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD (2026-06-05 18:54:37 +0200)

It may not seem like that, but this should be the last bang.

Thanks,

Paolo


----------------------------------------------------------------
Arm:

- Correctly drop the ITS translation cache reference when it actually
gets invalidated

- Take the SRCU lock for SW page table walks

- Restore POR_EL0 access to host EL0, avoiding POR_EL0 becoming
inaccessible from EL0 after running a guest

- Reassign nested_mmus array behind mmu_lock, ensuring that vcpu init
and MMU notifiers are mutually exclusive

- Correctly handle FEAT_XNX at stage-2

s390:

- More fixes for the new page table management and nested virtualization

x86:

- More fixes for GHCB issues

- Read start/end indices of page size change requests exactly one per vmexit

- Unmap and unpin the GHCB as needed on vCPU free

----------------------------------------------------------------
Claudio Imbrenda (10):
KVM: s390: Fix _gmap_unmap_crste()
KVM: s390: Fix _gmap_crstep_xchg_atomic()
KVM: s390: Avoid potentially sleeping while atomic when zapping pages
KVM: s390: Fix guest / virtual address confusion in _essa_clear_cbrl()
KVM: s390: vsie: Fix rmap handling in _do_shadow_crste()
KVM: s390: Fix fault-in code
KVM: s390: Lock pte when making page secure
KVM: s390: Prevent memslots outside the ASCE range
KVM: s390: Fix possible reference leak in fault-in code
KVM: s390: Remove ptep_zap_softleaf_entry()

Hyunwoo Kim (3):
KVM: arm64: vgic-its: Drop the translation cache reference only for the erased entry
KVM: arm64: Take the SRCU lock for page table walks in fault injection and AT emulation
KVM: arm64: Reassign nested_mmus array behind mmu_lock

Joey Gouly (1):
KVM: arm64: Restore POR_EL0 access to host EL0

Oliver Upton (2):
KVM: arm64: nv: Fix handling of XN[0] when !FEAT_XNX
KVM: arm64: Correctly identify executable PTEs at stage-2

Paolo Bonzini (2):
Merge tag 'kvm-s390-master-7.1-3' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
Merge tag 'kvmarm-fixes-7.1-5' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD

Sean Christopherson (7):
KVM: SEV: Make it more obvious when KVM is writing back the current PSC index
KVM: SEV: Add an anonymous "psc" struct to track current PSC metadata
KVM: SEV: Read start/end indices of PSC requests exactly once per #VMGEXIT
KVM: Don't WARN if memory is dirtied without a vCPU when the VM is dying
KVM: SEV: Move sev_free_vcpu() down below sev_es_unmap_ghcb()
KVM: SEV: Decouple the need to sync the GHCB SA from the need to free the SA
KVM: SEV: Unmap and unpin the GHCB as needed on vCPU free

arch/arm64/include/asm/kvm_nested.h | 4 +-
arch/arm64/kvm/at.c | 6 +-
arch/arm64/kvm/hyp/include/hyp/switch.h | 2 +
arch/arm64/kvm/hyp/pgtable.c | 4 +-
arch/arm64/kvm/nested.c | 33 +++--
arch/arm64/kvm/vgic/vgic-its.c | 6 +-
arch/s390/include/asm/gmap_helpers.h | 1 +
arch/s390/kvm/faultin.c | 30 ++--
arch/s390/kvm/gaccess.c | 11 +-
arch/s390/kvm/gmap.c | 19 ++-
arch/s390/kvm/gmap.h | 3 +
arch/s390/kvm/kvm-s390.c | 33 ++++-
arch/s390/kvm/priv.c | 8 +-
arch/s390/kvm/pv.c | 21 ++-
arch/s390/mm/gmap_helpers.c | 128 +++++++++--------
arch/x86/kvm/svm/sev.c | 238 +++++++++++++++++---------------
arch/x86/kvm/svm/svm.h | 9 +-
virt/kvm/kvm_main.c | 3 +-
18 files changed, 337 insertions(+), 222 deletions(-)