From: Andrew Morton Cc: Christoph Lameter Signed-off-by: Andrew Morton --- mm/slab.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff -puN mm/slab.c~categorize-gfp-flags-fix mm/slab.c --- a/mm/slab.c~categorize-gfp-flags-fix +++ a/mm/slab.c @@ -2747,7 +2747,7 @@ static int cache_grow(struct kmem_cache * critical path in kmem_cache_alloc(). */ BUG_ON(flags & GFP_SLAB_BUG_MASK); - local_flags = (flags & (GFP_CONSTRAINT_MASK|GFP_RECLAIM_MASK)); + local_flags = flags & (GFP_CONSTRAINT_MASK|GFP_RECLAIM_MASK); /* Take the l3 list lock to change the colour_next on this node */ check_irq_off(); @@ -3225,7 +3225,7 @@ static void *fallback_alloc(struct kmem_ zonelist = &NODE_DATA(slab_node(current->mempolicy)) ->node_zonelists[gfp_zone(flags)]; - local_flags = (flags & GFP_LEVEL_MASK); + local_flags = flags & (GFP_CONSTRAINT_MASK|GFP_RECLAIM_MASK); retry: /* _