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;
 }
 
 
        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;
        }
 }
        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;
        }
 
        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;
 
        if (!memslot->dirty_bitmap)
                return;
 
-       kvfree(memslot->dirty_bitmap);
+       vfree(memslot->dirty_bitmap);
        memslot->dirty_bitmap = NULL;
 }