[GIT PULL] KVM/arm64 fixes for 7.0, take #2

Marc Zyngier
2026-03-06T11:22:55Z

Paolo,

Here's the second set of fixes for 7.0. The only interesting fix is
one affecting pKVM and preventing the host from making forward
progress when a memblock is not page-aligned.

The rest is a bunch of low-severity fixes affecting the page-table
code, some of which Fuad has promised to start cleaning up!

Please pull,

M.

The following changes since commit 11439c4635edd669ae435eec308f4ab8a0804808:

Linux 7.0-rc2 (2026-03-01 15:39:31 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git tags/kvmarm-fixes-7.0-2

for you to fetch changes up to 3599c714c08c324f0fcfa392bfb857c92c575400:

KVM: arm64: Remove the redundant ISB in __kvm_at_s1e2() (2026-03-06 10:42:21 +0000)

----------------------------------------------------------------
KVM/arm64 fixes for 7.0, take #2

- Fix a couple of low-severity bugs in our S2 fault handling path,
affecting the recently introduced LS64 handling and the even more
esoteric handling of hwpoison in a nested context

- Address yet another syzkaller finding in the vgic initialisation,
were we would end-up destroying an uninitialised vgic, with nasty
consequences

- Address an annoying case of pKVM failing to boot when some of the
memblock regions that the host is faulting in are not page-aligned

- Inject some sanity in the NV stage-2 walker by checking the limits
against the advertised PA size, and correctly report the resulting
faults

- Drop an unnecessary ISB when emulating an EL2 S1 address translation

----------------------------------------------------------------
Fuad Tabba (2):
KVM: arm64: Fix page leak in user_mem_abort() on atomic fault
KVM: arm64: Fix vma_shift staleness on nested hwpoison path

Marc Zyngier (2):
KVM: arm64: Eagerly init vgic dist/redist on vgic creation
KVM: arm64: pkvm: Fallback to level-3 mapping on host stage-2 fault

Zenghui Yu (Huawei) (4):
KVM: arm64: nv: Check S2 limits based on implemented PA size
KVM: arm64: nv: Report addrsz fault at level 0 with a bad VTTBR.BADDR
KVM: arm64: nv: Inject a SEA if failed to read the descriptor
KVM: arm64: Remove the redundant ISB in __kvm_at_s1e2()

arch/arm64/kvm/at.c | 2 --
arch/arm64/kvm/hyp/nvhe/mem_protect.c | 2 +-
arch/arm64/kvm/mmu.c | 14 +++++++++-----
arch/arm64/kvm/nested.c | 27 ++++++++++++++++-----------
arch/arm64/kvm/vgic/vgic-init.c | 32 ++++++++++++++++----------------
5 files changed, 42 insertions(+), 35 deletions(-)