]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
KVM: arm64: Don't use __vcpu_sys_reg() to get the address of a sysreg
authorMarc Zyngier <maz@kernel.org>
Tue, 3 Jun 2025 07:08:23 +0000 (08:08 +0100)
committerMarc Zyngier <maz@kernel.org>
Thu, 5 Jun 2025 13:18:01 +0000 (14:18 +0100)
We are about to prevent the use of __vcpu_sys_reg() as a lvalue,
and getting the address of a rvalue is not a thing.

Update the couple of places where we do this to use the __ctxt_sys_reg()
accessor, which return the address of a register.

Reviewed-by: Miguel Luis <miguel.luis@oracle.com>
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20250603070824.1192795-4-maz@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/kvm/arch_timer.c
arch/arm64/kvm/fpsimd.c

index 5a67a6d4d95b72d1d28072f22670f176f66ccadf..c6b4fb4c8e08f929f8649f718ee58812d379aee1 100644 (file)
@@ -1036,7 +1036,7 @@ void kvm_timer_vcpu_reset(struct kvm_vcpu *vcpu)
        if (vcpu_has_nv(vcpu)) {
                struct arch_timer_offset *offs = &vcpu_vtimer(vcpu)->offset;
 
-               offs->vcpu_offset = &__vcpu_sys_reg(vcpu, CNTVOFF_EL2);
+               offs->vcpu_offset = __ctxt_sys_reg(&vcpu->arch.ctxt, CNTVOFF_EL2);
                offs->vm_offset = &vcpu->kvm->arch.timer_data.poffset;
        }
 
index 7f6e43d256915f507061c7c0fefd5b24febd6043..8f6c8f57c6b9c15041d170fcb394db371c07aeec 100644 (file)
@@ -103,8 +103,8 @@ void kvm_arch_vcpu_ctxsync_fp(struct kvm_vcpu *vcpu)
                fp_state.sve_state = vcpu->arch.sve_state;
                fp_state.sve_vl = vcpu->arch.sve_max_vl;
                fp_state.sme_state = NULL;
-               fp_state.svcr = &__vcpu_sys_reg(vcpu, SVCR);
-               fp_state.fpmr = &__vcpu_sys_reg(vcpu, FPMR);
+               fp_state.svcr = __ctxt_sys_reg(&vcpu->arch.ctxt, SVCR);
+               fp_state.fpmr = __ctxt_sys_reg(&vcpu->arch.ctxt, FPMR);
                fp_state.fp_type = &vcpu->arch.fp_type;
 
                if (vcpu_has_sve(vcpu))