Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 286e1ea3 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds
Browse files

[PATCH] vmalloc(): don't pass __GFP_ZERO to slab



A recent change to the vmalloc() code accidentally resulted in us passing
__GFP_ZERO into the slab allocator.  But we only wanted __GFP_ZERO for the
actual pages whcih are being vmalloc()ed, and passing __GFP_ZERO into slab is
not a rational thing to ask for.

Cc: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent c430169e
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -428,8 +428,11 @@ void *__vmalloc_area_node(struct vm_struct *area, gfp_t gfp_mask,
	if (array_size > PAGE_SIZE) {
		pages = __vmalloc_node(array_size, gfp_mask, PAGE_KERNEL, node);
		area->flags |= VM_VPAGES;
	} else
		pages = kmalloc_node(array_size, (gfp_mask & ~__GFP_HIGHMEM), node);
	} else {
		pages = kmalloc_node(array_size,
				(gfp_mask & ~(__GFP_HIGHMEM | __GFP_ZERO)),
				node);
	}
	area->pages = pages;
	if (!area->pages) {
		remove_vm_area(area->addr);