[PATCH] KVM: arm64: Fix the return value of smp_call_function_single()
From: Yejune Deng <hidden>
Date: 2021-01-18 09:47:30
In smp_call_function_single(), the 3rd parameter isn't the return value and it's always positive. But it may return a negative value. So the 'ret' is should be the return value of the smp_call_function_single(). In check_kvm_target_cpu(), 'phys_target' is more readable than 'ret'. Signed-off-by: Yejune Deng <redacted> --- arch/arm64/kvm/arm.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/kvm/arm.c b/arch/arm64/kvm/arm.c
index 04c44853b103..5fa5c04106de 100644
--- a/arch/arm64/kvm/arm.c
+++ b/arch/arm64/kvm/arm.c@@ -1815,9 +1815,9 @@ static int init_hyp_mode(void) return err; } -static void check_kvm_target_cpu(void *ret) +static void check_kvm_target_cpu(void *phys_target) { - *(int *)ret = kvm_target_cpu(); + *(int *)phys_target = kvm_target_cpu(); } struct kvm_vcpu *kvm_mpidr_to_vcpu(struct kvm *kvm, unsigned long mpidr)
@@ -1879,7 +1879,7 @@ void kvm_arch_irq_bypass_start(struct irq_bypass_consumer *cons) int kvm_arch_init(void *opaque) { int err; - int ret, cpu; + int ret, cpu, phys_target; bool in_hyp_mode; if (!is_hyp_mode_available()) {
@@ -1900,7 +1900,7 @@ int kvm_arch_init(void *opaque) "Only trusted guests should be used on this system.\n"); for_each_online_cpu(cpu) { - smp_call_function_single(cpu, check_kvm_target_cpu, &ret, 1); + ret = smp_call_function_single(cpu, check_kvm_target_cpu, &phys_target, 1); if (ret < 0) { kvm_err("Error, CPU %d not supported!\n", cpu); return -ENODEV;
--
2.29.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel