KVM: Use kvm_kvfree() to free memory allocated by kvm_kvzalloc()
authorTakuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp>
Tue, 19 Jun 2012 13:04:56 +0000 (22:04 +0900)
committerAvi Kivity <avi@redhat.com>
Tue, 19 Jun 2012 13:10:25 +0000 (16:10 +0300)
The following commit did not care about the error handling path:

  commit c1a7b32a14138f908df52d7c53b5ce3415ec6b50
  KVM: Avoid wasting pages for small lpage_info arrays

If memory allocation fails, vfree() will be called with the address
returned by kzalloc().  This patch fixes this issue.

Signed-off-by: Takuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/x86.c

index a01a4241bc6b72abf67f7542893793babb027ee4..6ed5983f78ffb38bd83fee20b2d9b8066dc24aa8 100644 (file)
@@ -6350,7 +6350,7 @@ int kvm_arch_create_memslot(struct kvm_memory_slot *slot, unsigned long npages)
 
 out_free:
        for (i = 0; i < KVM_NR_PAGE_SIZES - 1; ++i) {
-               vfree(slot->arch.lpage_info[i]);
+               kvm_kvfree(slot->arch.lpage_info[i]);
                slot->arch.lpage_info[i] = NULL;
        }
        return -ENOMEM;