|
@@ -1479,10 +1479,7 @@ static void __vunmap(const void *addr, int deallocate_pages)
|
|
|
__free_kmem_pages(page, 0);
|
|
|
}
|
|
|
|
|
|
- if (area->flags & VM_VPAGES)
|
|
|
- vfree(area->pages);
|
|
|
- else
|
|
|
- kfree(area->pages);
|
|
|
+ kvfree(area->pages);
|
|
|
}
|
|
|
|
|
|
kfree(area);
|
|
@@ -1592,7 +1589,6 @@ static void *__vmalloc_area_node(struct vm_struct *area, gfp_t gfp_mask,
|
|
|
if (array_size > PAGE_SIZE) {
|
|
|
pages = __vmalloc_node(array_size, 1, nested_gfp|__GFP_HIGHMEM,
|
|
|
PAGE_KERNEL, node, area->caller);
|
|
|
- area->flags |= VM_VPAGES;
|
|
|
} else {
|
|
|
pages = kmalloc_node(array_size, nested_gfp, node);
|
|
|
}
|
|
@@ -2650,7 +2646,7 @@ static int s_show(struct seq_file *m, void *p)
|
|
|
if (v->flags & VM_USERMAP)
|
|
|
seq_puts(m, " user");
|
|
|
|
|
|
- if (v->flags & VM_VPAGES)
|
|
|
+ if (is_vmalloc_addr(v->pages))
|
|
|
seq_puts(m, " vpages");
|
|
|
|
|
|
show_numa_info(m, v);
|