diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 33ffb6d17e73d8c0237eec95db0cc219815400fb..8417400455545c1603d4910843edd1ba127a12e2 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -8011,13 +8011,16 @@ static __init int hardware_setup(void) kvm_mce_cap_supported |= MCG_LMCE_P; - return alloc_kvm_area(); + r = alloc_kvm_area(); + if (r) + goto out; + return 0; out: for (i = 0; i < VMX_BITMAP_NR; i++) free_page((unsigned long)vmx_bitmap[i]); - return r; + return r; } static __exit void hardware_unsetup(void)