diff --git a/mm/page_alloc.c b/mm/page_alloc.c index d167c48d913cb3f15aba65d1ce0827a1a75c4b62..9992ca7f29f1e28c41cb50dba7d0bb6d43be1915 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3432,6 +3432,9 @@ alloc_flags_nofragment(struct zone *zone, gfp_t gfp_mask) alloc_flags |= ALLOC_KSWAPD; #ifdef CONFIG_ZONE_DMA32 + if (!zone) + return alloc_flags; + if (zone_idx(zone) != ZONE_NORMAL) goto out;