diff options
-rw-r--r-- | mm/slob.c | 2 | ||||
-rw-r--r-- | mm/slub.c | 3 |
2 files changed, 4 insertions, 1 deletions
@@ -330,7 +330,7 @@ static void *slob_alloc(size_t size, gfp_t gfp, int align, int node) | |||
330 | 330 | ||
331 | /* Not enough space: must allocate a new page */ | 331 | /* Not enough space: must allocate a new page */ |
332 | if (!b) { | 332 | if (!b) { |
333 | b = slob_new_page(gfp, 0, node); | 333 | b = slob_new_page(gfp & ~__GFP_ZERO, 0, node); |
334 | if (!b) | 334 | if (!b) |
335 | return 0; | 335 | return 0; |
336 | sp = (struct slob_page *)virt_to_page(b); | 336 | sp = (struct slob_page *)virt_to_page(b); |
@@ -1468,6 +1468,9 @@ static void *__slab_alloc(struct kmem_cache *s, | |||
1468 | void **object; | 1468 | void **object; |
1469 | struct page *new; | 1469 | struct page *new; |
1470 | 1470 | ||
1471 | /* We handle __GFP_ZERO in the caller */ | ||
1472 | gfpflags &= ~__GFP_ZERO; | ||
1473 | |||
1471 | if (!c->page) | 1474 | if (!c->page) |
1472 | goto new_slab; | 1475 | goto new_slab; |
1473 | 1476 | ||