Message ID | 2ae2d7d2bdf795fe0e5ef648714d56bd1029755e.1699368322.git.isaku.yamahata@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM TDX basic feature support | expand |
On Tue, Nov 07, 2023 at 06:55:30AM -0800, isaku.yamahata@intel.com wrote: >From: Isaku Yamahata <isaku.yamahata@intel.com> > >To match vmx_exit cleanup. > >Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com> >--- > 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 > >
On 12/4/2023 4:25 PM, Chao Gao wrote: > On Tue, Nov 07, 2023 at 06:55:30AM -0800, isaku.yamahata@intel.com wrote: >> From: Isaku Yamahata <isaku.yamahata@intel.com> >> >> To match vmx_exit cleanup. >> >> Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com> >> --- >> 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; And also, maybe better to rename the lable, e.g, err_vendor_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 >> >>
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; - 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);