--- x/mm/page_alloc.c +++ p/mm/page_alloc.c @@ -4286,7 +4286,7 @@ retry: try_this_zone: page = rmqueue(ac->preferred_zoneref->zone, zone, order, - gfp_mask, alloc_flags, ac->migratetype); + gfp_mask & ~__GFP_NOFAIL, alloc_flags, ac->migratetype); if (page) { prep_new_page(page, order, gfp_mask, alloc_flags);