From f83f5b829108810d6629a3a1e5592d7dd22714ca Mon Sep 17 00:00:00 2001 From: Takuya Yoshikawa Date: Sun, 20 May 2012 13:15:07 +0900 Subject: [PATCH] --- yaml --- r: 315827 b: refs/heads/master c: c1a7b32a14138f908df52d7c53b5ce3415ec6b50 h: refs/heads/master i: 315825: e5a94b6722f74163590fcb89fc0a59b0edb376b5 315823: 281f746a3b47f6c689ee4abde30bb10f3a29ae6e v: v3 --- [refs] | 2 +- trunk/arch/x86/kvm/x86.c | 4 ++-- trunk/include/linux/kvm_host.h | 3 +++ trunk/virt/kvm/kvm_main.c | 4 ++-- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index f61293196630..a24e575c1889 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 92eca8faad2d1b136c939bc122842dcdabd6ff46 +refs/heads/master: c1a7b32a14138f908df52d7c53b5ce3415ec6b50 diff --git a/trunk/arch/x86/kvm/x86.c b/trunk/arch/x86/kvm/x86.c index be6d54929fa7..f12a52408cda 100644 --- a/trunk/arch/x86/kvm/x86.c +++ b/trunk/arch/x86/kvm/x86.c @@ -6304,7 +6304,7 @@ void kvm_arch_free_memslot(struct kvm_memory_slot *free, for (i = 0; i < KVM_NR_PAGE_SIZES - 1; ++i) { if (!dont || free->arch.lpage_info[i] != dont->arch.lpage_info[i]) { - vfree(free->arch.lpage_info[i]); + kvm_kvfree(free->arch.lpage_info[i]); free->arch.lpage_info[i] = NULL; } } @@ -6323,7 +6323,7 @@ int kvm_arch_create_memslot(struct kvm_memory_slot *slot, unsigned long npages) slot->base_gfn, level) + 1; slot->arch.lpage_info[i] = - vzalloc(lpages * sizeof(*slot->arch.lpage_info[i])); + kvm_kvzalloc(lpages * sizeof(*slot->arch.lpage_info[i])); if (!slot->arch.lpage_info[i]) goto out_free; diff --git a/trunk/include/linux/kvm_host.h b/trunk/include/linux/kvm_host.h index c4464356b35b..19b83f6efa49 100644 --- a/trunk/include/linux/kvm_host.h +++ b/trunk/include/linux/kvm_host.h @@ -535,6 +535,9 @@ int kvm_arch_vcpu_should_kick(struct kvm_vcpu *vcpu); void kvm_free_physmem(struct kvm *kvm); +void *kvm_kvzalloc(unsigned long size); +void kvm_kvfree(const void *addr); + #ifndef __KVM_HAVE_ARCH_VM_ALLOC static inline struct kvm *kvm_arch_alloc_vm(void) { diff --git a/trunk/virt/kvm/kvm_main.c b/trunk/virt/kvm/kvm_main.c index 1148c96a4817..02cb440f802d 100644 --- a/trunk/virt/kvm/kvm_main.c +++ b/trunk/virt/kvm/kvm_main.c @@ -520,7 +520,7 @@ static struct kvm *kvm_create_vm(unsigned long type) * Avoid using vmalloc for a small buffer. * Should not be used when the size is statically known. */ -static void *kvm_kvzalloc(unsigned long size) +void *kvm_kvzalloc(unsigned long size) { if (size > PAGE_SIZE) return vzalloc(size); @@ -528,7 +528,7 @@ static void *kvm_kvzalloc(unsigned long size) return kzalloc(size, GFP_KERNEL); } -static void kvm_kvfree(const void *addr) +void kvm_kvfree(const void *addr) { if (is_vmalloc_addr(addr)) vfree(addr);