RISC-V: KVM: Return correct code for hsm stop function
authorAtish Patra <atishp@rivosinc.com>
Sun, 5 Feb 2023 01:15:06 +0000 (17:15 -0800)
committerAnup Patel <anup@brainfault.org>
Tue, 7 Feb 2023 15:05:43 +0000 (20:35 +0530)
According to the SBI specification, the stop function can only
return error code SBI_ERR_FAILED. However, currently it returns
-EINVAL which will be mapped SBI_ERR_INVALID_PARAM.

Return an linux error code that maps to SBI_ERR_FAILED i.e doesn't map
to any other SBI error code. While EACCES is not the best error code
to describe the situation, it is close enough and will be replaced
with SBI error codes directly anyways.

Reviewed-by: Anup Patel <anup@brainfault.org>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Signed-off-by: Atish Patra <atishp@rivosinc.com>
Signed-off-by: Anup Patel <anup@brainfault.org>
arch/riscv/kvm/vcpu_sbi_hsm.c

index 2e915cafd5519edb80d074ced42151b607398b56..619ac0ff17dcd0413fd35202b38c7458be18a642 100644 (file)
@@ -42,7 +42,7 @@ static int kvm_sbi_hsm_vcpu_start(struct kvm_vcpu *vcpu)
 static int kvm_sbi_hsm_vcpu_stop(struct kvm_vcpu *vcpu)
 {
        if (vcpu->arch.power_off)
-               return -EINVAL;
+               return -EACCES;
 
        kvm_riscv_vcpu_power_off(vcpu);