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

Marc Zyngier maz at kernel.org
Fri Jun 6 02:43:50 PDT 2025


Paolo,

Here the second batch of fixes for 6.16. We have a significant rework
of our system register accessors so that the RES0/RES1 sanitisation
gets applied at the right time, and a bunch of fixes for a single
selftest that really *never* worked.

Please pull,

	M.

The following changes since commit 4d62121ce9b58ea23c8d62207cbc604e98ecdc0a:

  KVM: arm64: vgic-debug: Avoid dereferencing NULL ITE pointer (2025-05-30 10:24:49 +0100)

are available in the Git repository at:

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

for you to fetch changes up to fad4cf944839da7f5c3376243aa353295c88f588:

  KVM: arm64: selftests: Determine effective counter width in arch_timer_edge_cases (2025-06-05 14:28:44 +0100)

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

- Rework of system register accessors for system registers that are
  directly writen to memory, so that sanitisation of the in-memory
  value happens at the correct time (after the read, or before the
  write). For convenience, RMW-style accessors are also provided.

- Multiple fixes for the so-called "arch-timer-edge-cases' selftest,
  which was always broken.

----------------------------------------------------------------
Marc Zyngier (4):
      KVM: arm64: Add assignment-specific sysreg accessor
      KVM: arm64: Add RMW specific sysreg accessor
      KVM: arm64: Don't use __vcpu_sys_reg() to get the address of a sysreg
      KVM: arm64: Make __vcpu_sys_reg() a pure rvalue operand

Sebastian Ott (4):
      KVM: arm64: selftests: Fix help text for arch_timer_edge_cases
      KVM: arm64: selftests: Fix thread migration in arch_timer_edge_cases
      KVM: arm64: selftests: Fix xVAL init in arch_timer_edge_cases
      KVM: arm64: selftests: Determine effective counter width in arch_timer_edge_cases

 arch/arm64/include/asm/kvm_host.h                  | 32 ++++++++++--
 arch/arm64/kvm/arch_timer.c                        | 18 +++----
 arch/arm64/kvm/debug.c                             |  4 +-
 arch/arm64/kvm/fpsimd.c                            |  4 +-
 arch/arm64/kvm/hyp/exception.c                     |  4 +-
 arch/arm64/kvm/hyp/include/hyp/switch.h            |  4 +-
 arch/arm64/kvm/hyp/include/hyp/sysreg-sr.h         |  6 +--
 arch/arm64/kvm/hyp/nvhe/hyp-main.c                 |  4 +-
 arch/arm64/kvm/hyp/vhe/switch.c                    |  4 +-
 arch/arm64/kvm/hyp/vhe/sysreg-sr.c                 | 48 ++++++++---------
 arch/arm64/kvm/nested.c                            |  2 +-
 arch/arm64/kvm/pmu-emul.c                          | 24 ++++-----
 arch/arm64/kvm/sys_regs.c                          | 60 +++++++++++-----------
 arch/arm64/kvm/sys_regs.h                          |  4 +-
 arch/arm64/kvm/vgic/vgic-v3-nested.c               | 10 ++--
 .../selftests/kvm/arm64/arch_timer_edge_cases.c    | 39 +++++++++-----
 16 files changed, 151 insertions(+), 116 deletions(-)



More information about the linux-arm-kernel mailing list