arch/x86/kvm/vmx/vmx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
From: Peng Hao <flyingpeng@tencent.com>
Make sure nested_vmx_hardware_setup/unsetup() are called in pairs under
the same conditions. Calling nested_vmx_hardware_unsetup() when nested
is false "works" right now because it only calls free_page() on zero-
initialized pointers, but it's possible that more code will be added to
nested_vmx_hardware_unsetup() in the future.
Reviewed-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Peng Hao <flyingpeng@tencent.com>
---
arch/x86/kvm/vmx/vmx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index 75ed7d6f35cc..9fad3c73395a 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -7852,7 +7852,7 @@ static __init int hardware_setup(void)
vmx_set_cpu_caps();
r = alloc_kvm_area();
- if (r)
+ if (r && nested)
nested_vmx_hardware_unsetup();
kvm_set_posted_intr_wakeup_handler(pi_wakeup_handler);
--
2.27.0
Needs a space added as fixup. On Tue, Feb 22, 2022, Peng Hao wrote: > From: Peng Hao <flyingpeng@tencent.com> > > Make sure nested_vmx_hardware_setup/unsetup() are called in pairs under > the same conditions. Calling nested_vmx_hardware_unsetup() when nested > is false "works" right now because it only calls free_page() on zero- > initialized pointers, but it's possible that more code will be added to > nested_vmx_hardware_unsetup() in the future. > > Reviewed-by: Sean Christopherson <seanjc@google.com> > Signed-off-by: Peng Hao <flyingpeng@tencent.com> > --- > arch/x86/kvm/vmx/vmx.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c > index 75ed7d6f35cc..9fad3c73395a 100644 > --- a/arch/x86/kvm/vmx/vmx.c > +++ b/arch/x86/kvm/vmx/vmx.c > @@ -7852,7 +7852,7 @@ static __init int hardware_setup(void) > vmx_set_cpu_caps(); > > r = alloc_kvm_area(); > - if (r) > + if (r && nested) > nested_vmx_hardware_unsetup(); > > kvm_set_posted_intr_wakeup_handler(pi_wakeup_handler); > -- > 2.27.0 >
On 2/22/22 11:40, Peng Hao wrote: > From: Peng Hao <flyingpeng@tencent.com> > > Make sure nested_vmx_hardware_setup/unsetup() are called in pairs under > the same conditions. Calling nested_vmx_hardware_unsetup() when nested > is false "works" right now because it only calls free_page() on zero- > initialized pointers, but it's possible that more code will be added to > nested_vmx_hardware_unsetup() in the future. > > Reviewed-by: Sean Christopherson <seanjc@google.com> > Signed-off-by: Peng Hao <flyingpeng@tencent.com> > --- > arch/x86/kvm/vmx/vmx.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c > index 75ed7d6f35cc..9fad3c73395a 100644 > --- a/arch/x86/kvm/vmx/vmx.c > +++ b/arch/x86/kvm/vmx/vmx.c > @@ -7852,7 +7852,7 @@ static __init int hardware_setup(void) > vmx_set_cpu_caps(); > > r = alloc_kvm_area(); > - if (r) > + if (r && nested) > nested_vmx_hardware_unsetup(); > > kvm_set_posted_intr_wakeup_handler(pi_wakeup_handler); Queued, thanks. Paolo
© 2016 - 2026 Red Hat, Inc.