diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 5fdbe4ecfb58c4843e9e9febf32314890a9f16a8..24116b7828f525b249ed241cbee15a7d0b8df68c 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -5182,6 +5182,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;