[GIT PULL] KVM changes for Linux 7.0-rc2
From: Paolo Bonzini
Date: Sun Mar 01 2026 - 09:15:19 EST
Linus,
The following changes since commit 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f:
Linux 7.0-rc1 (2026-02-22 13:18:59 -0800)
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 55365ab85a93edec22395547cdc7cbe73a98231b:
Merge tag 'kvmarm-fixes-7.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD (2026-02-28 15:33:34 +0100)
----------------------------------------------------------------
Arm:
* Make sure we don't leak any S1POE state from guest to guest when
the feature is supported on the HW, but not enabled on the host
* Propagate the ID registers from the host into non-protected VMs
managed by pKVM, ensuring that the guest sees the intended feature set
* Drop double kern_hyp_va() from unpin_host_sve_state(), which could
bite us if we were to change kern_hyp_va() to not being idempotent
* Don't leak stage-2 mappings in protected mode
* Correctly align the faulting address when dealing with single page
stage-2 mappings for PAGE_SIZE > 4kB
* Fix detection of virtualisation-capable GICv5 IRS, due to the
maintainer being obviously fat fingered... [his words, not mine]
* Remove duplication of code retrieving the ASID for the purpose of
S1 PT handling
* Fix slightly abusive const-ification in vgic_set_kvm_info()
Generic:
* Remove internal Kconfigs that are now set on all architectures.
* Remove per-architecture code to enable KVM_CAP_SYNC_MMU, all
architectures finally enable it in Linux 7.0.
----------------------------------------------------------------
Fuad Tabba (5):
KVM: arm64: Hide S1POE from guests when not supported by the host
KVM: arm64: Optimise away S1POE handling when not supported by host
KVM: arm64: Fix ID register initialization for non-protected pKVM guests
KVM: arm64: Remove redundant kern_hyp_va() in unpin_host_sve_state()
KVM: arm64: Revert accidental drop of kvm_uninit_stage2_mmu() for non-NV VMs
Kees Cook (1):
KVM: arm64: vgic: Handle const qualifier from gic_kvm_info allocation type
Marc Zyngier (2):
KVM: arm64: Fix protected mode handling of pages larger than 4kB
KVM: arm64: Deduplicate ASID retrieval code
Paolo Bonzini (3):
KVM: remove CONFIG_KVM_GENERIC_MMU_NOTIFIER
KVM: always define KVM_CAP_SYNC_MMU
Merge tag 'kvmarm-fixes-7.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
Sascha Bischoff (1):
irqchip/gic-v5: Fix inversion of IRS_IDR0.virt flag
Documentation/virt/kvm/api.rst | 10 +++---
arch/arm64/include/asm/kvm_host.h | 3 +-
arch/arm64/include/asm/kvm_nested.h | 2 ++
arch/arm64/kvm/Kconfig | 1 -
arch/arm64/kvm/arm.c | 1 -
arch/arm64/kvm/at.c | 27 ++--------------
arch/arm64/kvm/hyp/nvhe/pkvm.c | 37 ++++++++++++++++++++--
arch/arm64/kvm/mmu.c | 12 +++----
arch/arm64/kvm/nested.c | 63 ++++++++++++++++++-------------------
arch/arm64/kvm/sys_regs.c | 3 ++
arch/loongarch/kvm/Kconfig | 1 -
arch/loongarch/kvm/vm.c | 1 -
arch/mips/kvm/Kconfig | 1 -
arch/mips/kvm/mips.c | 1 -
arch/powerpc/kvm/Kconfig | 4 ---
arch/powerpc/kvm/powerpc.c | 6 ----
arch/riscv/kvm/Kconfig | 1 -
arch/riscv/kvm/vm.c | 1 -
arch/s390/kvm/Kconfig | 2 --
arch/s390/kvm/kvm-s390.c | 1 -
arch/x86/kvm/Kconfig | 1 -
arch/x86/kvm/x86.c | 1 -
drivers/irqchip/irq-gic-v5-irs.c | 2 +-
include/linux/kvm_host.h | 7 +----
virt/kvm/Kconfig | 9 +-----
virt/kvm/kvm_main.c | 17 +---------
26 files changed, 87 insertions(+), 128 deletions(-)