]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
KVM: arm64: Make __vcpu_sys_reg() a pure rvalue operand
authorMarc Zyngier <maz@kernel.org>
Tue, 3 Jun 2025 07:08:24 +0000 (08:08 +0100)
committerMarc Zyngier <maz@kernel.org>
Thu, 5 Jun 2025 13:18:01 +0000 (14:18 +0100)
Now that we don't have any use of __vcpu_sys_reg() as a lvalue,
remove the in-place update, and directly return the sanitised
value.

Reviewed-by: Miguel Luis <miguel.luis@oracle.com>
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20250603070824.1192795-5-maz@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/include/asm/kvm_host.h

index 8b8c649f225b09051b0d2c4b0aeecd74df0f068c..382b382d14dac4ad833a14fb87ed0ff7e60fd847 100644 (file)
@@ -1130,13 +1130,13 @@ u64 kvm_vcpu_apply_reg_masks(const struct kvm_vcpu *, enum vcpu_sysreg, u64);
        } while (0)
 
 #define __vcpu_sys_reg(v,r)                                            \
-       (*({                                                            \
+       ({                                                              \
                const struct kvm_cpu_context *ctxt = &(v)->arch.ctxt;   \
-               u64 *__r = __ctxt_sys_reg(ctxt, (r));                   \
+               u64 __v = ctxt_sys_reg(ctxt, (r));                      \
                if (vcpu_has_nv((v)) && (r) >= __SANITISED_REG_START__) \
-                       *__r = kvm_vcpu_apply_reg_masks((v), (r), *__r);\
-               __r;                                                    \
-       }))
+                       __v = kvm_vcpu_apply_reg_masks((v), (r), __v);  \
+               __v;                                                    \
+       })
 
 u64 vcpu_read_sys_reg(const struct kvm_vcpu *vcpu, int reg);
 void vcpu_write_sys_reg(struct kvm_vcpu *vcpu, u64 val, int reg);