[PATCH v2 0/2] KVM: arm64: ID register finalisation fixes

Fuad Tabba fuad.tabba at linux.dev
Tue Aug 4 02:30:19 PDT 2026


Hi Mark,

On Mon, 3 Aug 2026 at 23:54, Mark Brown <broonie at kernel.org> wrote:
>
> While looking at some feature enablement I noticed that there are some
> scenarios where we can end up with an inconsistently configured vCPU due
> to finalizing configuration based on ID registers before we have blocked
> writes to the ID registers. This series aims to clean up these issues.
>
> Signed-off-by: Mark Brown <broonie at kernel.org>

I didn't want to hold this for the broader coverage you suggested, so
here is a focused test for the failed-first-run path [1]. It fails
without this series.

Tested on top of v7.2-rc5 under QEMU: boot tests, plus the
set_id_regs, vgic_init and get-reg-list selftests, the last also under
nested virt (-M vhe, kvm-arm.mode=nested).

For the series:

Reviewed-by: Fuad Tabba <fuad.tabba at linux.dev>
Tested-by: Fuad Tabba <fuad.tabba at linux.dev>

Cheers,
/fuad

[1] https://lore.kernel.org/all/20260804092421.1728880-1-fuad.tabba@linux.dev/

> ---
> Changes in v2:
> - Also replace the kvm_vm_has_ran_once() usage in kvm_set_vm_id_rg() and
>   kvm_vm_finalize_sys_regs() with kvm_id_regs_final().
> - Link to v1: https://patch.msgid.link/20260731-kvm-arm64-idreg-final-v1-0-3de2a5616dc6@kernel.org
>
> ---
> Mark Brown (2):
>       KVM: arm64: Finalize guest-wide sysregs prior to per-vCPU sysregs
>       KVM: arm64: Block ID register changes after we rely on the values
>
>  arch/arm64/include/asm/kvm_host.h |  8 ++++++
>  arch/arm64/kvm/arm.c              |  2 +-
>  arch/arm64/kvm/sys_regs.c         | 57 ++++++++++++++++++++++++---------------
>  arch/arm64/kvm/sys_regs.h         |  2 +-
>  arch/arm64/kvm/vgic/vgic-init.c   |  6 ++---
>  5 files changed, 48 insertions(+), 27 deletions(-)
> ---
> base-commit: f5098b6bae761e346ebcd9da7f95622c04733cff
> change-id: 20260729-kvm-arm64-idreg-final-77cbc46b558a
>
> Best regards,
> --
> Mark Brown <broonie at kernel.org>
>



More information about the linux-arm-kernel mailing list