diff --git a/mm/page_alloc.c b/mm/page_alloc.c index a8abfe6458a585e9decd61b0ccfdb1415304f31b..2feb99a0b98fb4f167e919c294ebc23b97ebd5ae 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -5186,6 +5186,9 @@ static inline void prepare_before_alloc(gfp_t *gfp_mask) if (!zone_movable) goto clear_flag; + if (!in_task()) + return; + if ((current->flags & PF_RELIABLE) || is_global_init(current)) *gfp_mask |= GFP_RELIABLE;