diff --git a/mm/memcontrol.c b/mm/memcontrol.c index e41a6c26f1e7020c2bab73dc31295a1a855e0313..fc62c714f3b6983411e7ad9223a356a340efd029 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -3348,10 +3348,9 @@ unsigned long mem_cgroup_soft_limit_reclaim(struct zone *zone, int order, */ next_mz = __mem_cgroup_largest_soft_limit_node(mctz); - if (next_mz == mz) { + if (next_mz == mz) css_put(&next_mz->mem->css); - next_mz = NULL; - } else /* next_mz == NULL or other memcg */ + else /* next_mz == NULL or other memcg */ break; } while (1); }