diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 5293c4f70fba24c03f1022f629c575a486490838..793f5cebe665b5cd8c57969e94f3627a8835569e 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3572,6 +3572,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;