From: Oliver Upton <oupton@kernel.org>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Marc Zyngier <maz@kernel.org>,
Sean Christopherson <seanjc@google.com>,
kvmarm@lists.linux.dev, kvm@vger.kernel.org
Subject: [GIT PULL] KVM/arm64 fixes for 7.3, round #1
Date: Sat, 19 Sep 2026 11:33:44 -0700 [thread overview]
Message-ID: <aq7ViMljbhjibseX@kernel.org> (raw)
Hi Paolo,
Here's the first pile of fixes for 7.3.
The diff is definitely on the larger end, although this is mostly
explained by the inclusion of a selftest for the ITS table changes
which are quite tricky. Also worth noting that this selftest mixed poorly
in next with Sean's PPC selftest prefix due to the library changes [*].
Otherwise, the most noteworthy change here is definitely the pKVM patches
to unmap the EL2 hypervisor's stack pages from the host, for obvious
reasons...
Details on the rest of it can be found in the tag. Please expect at
least one more pull for 7.3, there's some additional changes that are
still brewing.
Please pull.
Thanks,
Oliver
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/linux/kernel/git/kvmarm/kvmarm.git/ tags/kvmarm-fixes-7.3-1
for you to fetch changes up to 6b1bca1b1ab77f60a62087337bfe6e2f0efb9e6d:
KVM: arm64: Fix AArch32 DBGBXVR<n> handling (2026-09-19 11:14:22 -0700)
----------------------------------------------------------------
KVM/arm64 changes for 7.3, take #2
- 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)
----------------------------------------------------------------
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
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
Sebastian Ott (1):
KVM: selftests: fix steal_time for arm64 with host page size > 4K
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 | 8 +-
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 | 111 +++---
arch/arm64/kvm/sys_regs.c | 1 +
arch/arm64/kvm/vgic/vgic-its.c | 46 ++-
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 ++++++++++++++++++++++
tools/testing/selftests/kvm/steal_time.c | 30 +-
20 files changed, 700 insertions(+), 117 deletions(-)
create mode 100644 tools/testing/selftests/kvm/arm64/vgic_its_save.c
next reply other threads:[~2026-09-19 18:33 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-19 18:33 Oliver Upton [this message]
2026-09-19 18:36 ` [GIT PULL] KVM/arm64 fixes for 7.3, round #1 Oliver Upton
2026-09-21 10:10 ` Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aq7ViMljbhjibseX@kernel.org \
--to=oupton@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.linux.dev \
--cc=maz@kernel.org \
--cc=pbonzini@redhat.com \
--cc=seanjc@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox