diff --git a/mm/vmscan.c b/mm/vmscan.c index f5e10dbae697c8c6bcfb7e96d859b3bdf555b425..5ef2df67e003044f8a6776d08ed8b4fc61407854 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -3726,9 +3726,7 @@ static struct lru_gen_mm_walk *set_mm_walk(struct pglist_data *pgdat, bool force VM_WARN_ON_ONCE(walk); walk = &pgdat->mm_walk; - } else if (!walk && force_alloc) { - VM_WARN_ON_ONCE(current_is_kswapd()); - + } else if (!walk && force_alloc && !current_is_kswapd()) { walk = kzalloc(sizeof(*walk), __GFP_HIGH | __GFP_NOMEMALLOC | __GFP_NOWARN); }