Commit a952d608 authored by Li RongQing's avatar Li RongQing Committed by Sean Christopherson
Browse files

KVM: Use vfree for memory allocated by vcalloc()/__vcalloc()



commit 37b2a651("KVM: use __vcalloc for very large allocations")
replaced kvzalloc()/kvcalloc() with vcalloc(), but didn't replace kvfree()
with vfree().

Signed-off-by: default avatarLi RongQing <lirongqing@baidu.com>
Link: https://lore.kernel.org/r/20240131012357.53563-1-lirongqing@baidu.com


Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
parent b628cb52
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ bool kvm_page_track_write_tracking_enabled(struct kvm *kvm)

void kvm_page_track_free_memslot(struct kvm_memory_slot *slot)
{
	kvfree(slot->arch.gfn_write_track);
	vfree(slot->arch.gfn_write_track);
	slot->arch.gfn_write_track = NULL;
}

+3 −3
Original line number Diff line number Diff line
@@ -12731,7 +12731,7 @@ static void memslot_rmap_free(struct kvm_memory_slot *slot)
	int i;

	for (i = 0; i < KVM_NR_PAGE_SIZES; ++i) {
		kvfree(slot->arch.rmap[i]);
		vfree(slot->arch.rmap[i]);
		slot->arch.rmap[i] = NULL;
	}
}
@@ -12743,7 +12743,7 @@ void kvm_arch_free_memslot(struct kvm *kvm, struct kvm_memory_slot *slot)
	memslot_rmap_free(slot);

	for (i = 1; i < KVM_NR_PAGE_SIZES; ++i) {
		kvfree(slot->arch.lpage_info[i - 1]);
		vfree(slot->arch.lpage_info[i - 1]);
		slot->arch.lpage_info[i - 1] = NULL;
	}

@@ -12835,7 +12835,7 @@ static int kvm_alloc_memslot_metadata(struct kvm *kvm,
	memslot_rmap_free(slot);

	for (i = 1; i < KVM_NR_PAGE_SIZES; ++i) {
		kvfree(slot->arch.lpage_info[i - 1]);
		vfree(slot->arch.lpage_info[i - 1]);
		slot->arch.lpage_info[i - 1] = NULL;
	}
	return -ENOMEM;
+1 −1
Original line number Diff line number Diff line
@@ -1020,7 +1020,7 @@ static void kvm_destroy_dirty_bitmap(struct kvm_memory_slot *memslot)
	if (!memslot->dirty_bitmap)
		return;

	kvfree(memslot->dirty_bitmap);
	vfree(memslot->dirty_bitmap);
	memslot->dirty_bitmap = NULL;
}