diff mbox series

kvm:svm: Return the correct error code

Message ID HKAPR02MB42915D77D43D4ED125BD2121E0F90@HKAPR02MB4291.apcprd02.prod.outlook.com (mailing list archive)
State New, archived
Headers show
Series kvm:svm: Return the correct error code | expand

Commit Message

彭浩(Richard) Nov. 26, 2020, 7:13 a.m. UTC
The return value of sev_asid_new is assigned to the variable asid, which
should be returned directly if the asid is an error code.

Fixes: 1654efcbc431 ("KVM: SVM: Add KVM_SEV_INIT command")
Signed-off-by: Peng Hao <richard.peng@oppo.com>
---
 arch/x86/kvm/svm/sev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--
2.18.4

Comments

Sean Christopherson Nov. 30, 2020, 7:58 p.m. UTC | #1
On Thu, Nov 26, 2020, 彭浩(Richard) wrote:
> The return value of sev_asid_new is assigned to the variable asid, which
> should be returned directly if the asid is an error code.
> 
> Fixes: 1654efcbc431 ("KVM: SVM: Add KVM_SEV_INIT command")
> Signed-off-by: Peng Hao <richard.peng@oppo.com>

It's probably worth noting in the changelog that this is a nop.  sev_asid_new()
can only fail with -EBUSY, and ret is guaranteed to be -EBUSY as well.  I agree
it's probably better to return the result of sev_asid_new() instead of assuuming
it will always return -EBUSY.

> ---
>  arch/x86/kvm/svm/sev.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c
> index 566f4d18185b..41cea6b69860 100644
> --- a/arch/x86/kvm/svm/sev.c
> +++ b/arch/x86/kvm/svm/sev.c
> @@ -174,7 +174,7 @@ static int sev_guest_init(struct kvm *kvm, struct kvm_sev_cmd *argp)
> 
>         asid = sev_asid_new();
>         if (asid < 0)
> -               return ret;
> +               return asid;
> 
>         ret = sev_platform_init(&argp->error);
>         if (ret)
> --
> 2.18.4
diff mbox series

Patch

diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c
index 566f4d18185b..41cea6b69860 100644
--- a/arch/x86/kvm/svm/sev.c
+++ b/arch/x86/kvm/svm/sev.c
@@ -174,7 +174,7 @@  static int sev_guest_init(struct kvm *kvm, struct kvm_sev_cmd *argp)

        asid = sev_asid_new();
        if (asid < 0)
-               return ret;
+               return asid;

        ret = sev_platform_init(&argp->error);
        if (ret)