]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
KVM: arm64: Finalize ID registers only once per VM
authorMarc Zyngier <maz@kernel.org>
Mon, 10 Nov 2025 17:30:10 +0000 (17:30 +0000)
committerMarc Zyngier <maz@kernel.org>
Tue, 11 Nov 2025 12:24:22 +0000 (12:24 +0000)
commit0f559cd91e37b7978e4198ca2fbf7eb95df11361
tree67d6fbbfee44cce1deec8a8f0a59470b12bdf67b
parent4af235bf645516481a82227d82d1352b9788903a
KVM: arm64: Finalize ID registers only once per VM

Owing to the ID registers being global to the VM, there is no point
in computing them more than once.  However, recent changes making
use of kvm_set_vm_id_reg() outlined that we repeatedly hammer
the ID registers when we shouldn't.

Gate the ID reg update on the VM having never run.

Fixes: 50e7cce81b9b2 ("KVM: arm64: Limit clearing of ID_{AA64PFR0,PFR1}_EL1.GIC to userspace irqchip")
Fixes: 5cb57a1aff755 ("KVM: arm64: Zero ID_AA64PFR0_EL1.GIC when no GICv3 is presented to the guest")
Closes: https://lore.kernel.org/r/aRHf6x5umkTYhYJ3@finisterre.sirena.org.uk
Reported-by: Mark Brown <broonie@kernel.org>
Tested-by: Mark Brown <broonie@kernel.org>
Link: https://patch.msgid.link/20251110173010.1918424-1-maz@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/kvm/sys_regs.c