diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 65876feb86f3357d6a44827b218ae9763a05aea8..46c30fa26acda7dcba96d11b27ff4ccc0e08c470 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3903,9 +3903,10 @@ static inline bool prepare_alloc_pages(gfp_t gfp_mask, unsigned int order, if (cpusets_enabled()) { *alloc_mask |= __GFP_HARDWALL; - *alloc_flags |= ALLOC_CPUSET; if (!ac->nodemask) ac->nodemask = &cpuset_current_mems_allowed; + else + *alloc_flags |= ALLOC_CPUSET; } lockdep_trace_alloc(gfp_mask);