Re: [PATCH v17 004/116] KVM: VMX: Reorder vmx initialization with kvm vendor initialization

From: Chao Gao
Date: Mon Dec 04 2023 - 03:25:35 EST


On Tue, Nov 07, 2023 at 06:55:30AM -0800, isaku.yamahata@xxxxxxxxx wrote:
>From: Isaku Yamahata <isaku.yamahata@xxxxxxxxx>
>
>To match vmx_exit cleanup.
>
>Signed-off-by: Isaku Yamahata <isaku.yamahata@xxxxxxxxx>
>---
> arch/x86/kvm/vmx/main.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
>diff --git a/arch/x86/kvm/vmx/main.c b/arch/x86/kvm/vmx/main.c
>index 266760865ed8..e07bec005eda 100644
>--- a/arch/x86/kvm/vmx/main.c
>+++ b/arch/x86/kvm/vmx/main.c
>@@ -180,11 +180,11 @@ static int __init vt_init(void)
> */
> hv_init_evmcs();
>
>- r = kvm_x86_vendor_init(&vt_init_ops);
>+ r = vmx_init();

> if (r)
>- return r;
>+ goto err_vmx_init;

this is incorrect. vmx_exit() shouldn't be called if
vmx_init() failed.

>
>- r = vmx_init();
>+ r = kvm_x86_vendor_init(&vt_init_ops);
> if (r)
> goto err_vmx_init;
>
>@@ -201,9 +201,9 @@ static int __init vt_init(void)
> return 0;
>
> err_kvm_init:
>- vmx_exit();
>-err_vmx_init:
> kvm_x86_vendor_exit();
>+err_vmx_init:
>+ vmx_exit();
> return r;
> }
> module_init(vt_init);
>--
>2.25.1
>
>