diff --git a/mm/page_alloc.c b/mm/page_alloc.c index c3bc5fb876f10dab356209f224b1847bd3d8b052..f271929abeabc1fc8da1c8557551e891f722489c 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -4960,7 +4960,7 @@ unsigned long __alloc_pages_bulk(gfp_t gfp, int preferred_nid, * Skip populated array elements to determine if any pages need * to be allocated before disabling IRQs. */ - while (page_array && page_array[nr_populated] && nr_populated < nr_pages) + while (page_array && nr_populated < nr_pages && page_array[nr_populated]) nr_populated++; /* Use the single page allocator for one page. */