diff --git a/mm/slab.c b/mm/slab.c
index f46b65d124e5fabc39ba94653ff5fcf33bab89a5..cd76964b53bcaae3db163ac53d0b6ca624bc1033 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -2102,7 +2102,7 @@ static int __init_refok setup_cpu_cache(struct kmem_cache *cachep, gfp_t gfp)
 			for_each_online_node(node) {
 				cachep->nodelists[node] =
 				    kmalloc_node(sizeof(struct kmem_list3),
-						GFP_KERNEL, node);
+						gfp, node);
 				BUG_ON(!cachep->nodelists[node]);
 				kmem_list3_init(cachep->nodelists[node]);
 			}