aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorWei Yongjun <yjwei@cn.fujitsu.com>2010-01-22 01:21:29 -0500
committerMarcelo Tosatti <mtosatti@redhat.com>2010-01-25 09:26:40 -0500
commit443c39bc9ef7d8f648408d74c97e943f3bb3f48a (patch)
treeea4b29635cd1caee726c1c1c950ac0b10804d6ce /arch/x86
parent36cb93fd6b6bf7e9163a69a8bf20207aed5fea44 (diff)
KVM: x86: Fix leak of free lapic date in kvm_arch_vcpu_init()
In function kvm_arch_vcpu_init(), if the memory malloc for vcpu->arch.mce_banks is fail, it does not free the memory of lapic date. This patch fixed it. Cc: stable@kernel.org Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/kvm/x86.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index b265eecc741..1ddcad452ad 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -5072,12 +5072,13 @@ int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu)
5072 GFP_KERNEL); 5072 GFP_KERNEL);
5073 if (!vcpu->arch.mce_banks) { 5073 if (!vcpu->arch.mce_banks) {
5074 r = -ENOMEM; 5074 r = -ENOMEM;
5075 goto fail_mmu_destroy; 5075 goto fail_free_lapic;
5076 } 5076 }
5077 vcpu->arch.mcg_cap = KVM_MAX_MCE_BANKS; 5077 vcpu->arch.mcg_cap = KVM_MAX_MCE_BANKS;
5078 5078
5079 return 0; 5079 return 0;
5080 5080fail_free_lapic:
5081 kvm_free_lapic(vcpu);
5081fail_mmu_destroy: 5082fail_mmu_destroy:
5082 kvm_mmu_destroy(vcpu); 5083 kvm_mmu_destroy(vcpu);
5083fail_free_pio_data: 5084fail_free_pio_data: