diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 4fcf47a62550a4d31f875187fc6d5d3343f586a9..1eb1a04f874cc9bf58b5f956251ab1c292b5256c 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -1832,6 +1832,7 @@ static int __mem_cgroup_do_charge(struct mem_cgroup *mem, gfp_t gfp_mask, if (likely(!ret)) return CHARGE_OK; + res_counter_uncharge(&mem->res, csize); mem_over_limit = mem_cgroup_from_res_counter(fail_res, memsw); flags |= MEM_CGROUP_RECLAIM_NOSWAP; } else