Browse Source

KVM: nVMX: Free the VMREAD/VMWRITE bitmaps if alloc_kvm_area() fails

commit 1b3ab5ad1b8ad99bae76ec583809c5f5a31c707c upstream.

Fixes: 34a1cd60d17f ("kvm: x86: vmx: move some vmx setting from vmx_init() to hardware_setup()")
Cc: stable@vger.kernel.org
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Sean Christopherson 7 years ago
parent
commit
c9dae887cf
1 changed files with 5 additions and 2 deletions
  1. 5 2
      arch/x86/kvm/vmx.c

+ 5 - 2
arch/x86/kvm/vmx.c

@@ -8011,13 +8011,16 @@ static __init int hardware_setup(void)
 
 
 	kvm_mce_cap_supported |= MCG_LMCE_P;
 	kvm_mce_cap_supported |= MCG_LMCE_P;
 
 
-	return alloc_kvm_area();
+	r = alloc_kvm_area();
+	if (r)
+		goto out;
+	return 0;
 
 
 out:
 out:
 	for (i = 0; i < VMX_BITMAP_NR; i++)
 	for (i = 0; i < VMX_BITMAP_NR; i++)
 		free_page((unsigned long)vmx_bitmap[i]);
 		free_page((unsigned long)vmx_bitmap[i]);
 
 
-    return r;
+	return r;
 }
 }
 
 
 static __exit void hardware_unsetup(void)
 static __exit void hardware_unsetup(void)