diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 035300299f94d8a2fdd744ae2a03ff94ea873522..7f4c66ff65b796a840086301eccf2c9c94044076 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1396,6 +1396,9 @@ get_page_from_freelist(gfp_t gfp_mask, nodemask_t *nodemask, unsigned int order, (void)first_zones_zonelist(zonelist, high_zoneidx, nodemask, &preferred_zone); + if (!preferred_zone) + return NULL; + classzone_idx = zone_idx(preferred_zone); zonelist_scan: