| From 02a46bf0f13d244e8128f6587023dd9bb9183f32 Mon Sep 17 00:00:00 2001 |
| From: Wei Yongjun <yjwei@cn.fujitsu.com> |
| Date: Tue, 9 Mar 2010 14:37:53 +0800 |
| Subject: KVM: s390: Fix possible memory leak of in kvm_arch_vcpu_create() |
| |
| From: Wei Yongjun <yjwei@cn.fujitsu.com> |
| |
| This patch fixed possible memory leak in kvm_arch_vcpu_create() |
| under s390, which would happen when kvm_arch_vcpu_create() fails. |
| |
| Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com> |
| Acked-by: Carsten Otte <cotte@de.ibm.com> |
| Cc: stable@kernel.org |
| Signed-off-by: Avi Kivity <avi@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| (cherry picked from commit 7b06bf2ffa15e119c7439ed0b024d44f66d7b605) |
| --- |
| arch/s390/kvm/kvm-s390.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/arch/s390/kvm/kvm-s390.c |
| +++ b/arch/s390/kvm/kvm-s390.c |
| @@ -338,11 +338,13 @@ struct kvm_vcpu *kvm_arch_vcpu_create(st |
| |
| rc = kvm_vcpu_init(vcpu, kvm, id); |
| if (rc) |
| - goto out_free_cpu; |
| + goto out_free_sie_block; |
| VM_EVENT(kvm, 3, "create cpu %d at %p, sie block at %p", id, vcpu, |
| vcpu->arch.sie_block); |
| |
| return vcpu; |
| +out_free_sie_block: |
| + free_page((unsigned long)(vcpu->arch.sie_block)); |
| out_free_cpu: |
| kfree(vcpu); |
| out_nomem: |