Loading mm/memcontrol.c +8 −3 Original line number Diff line number Diff line Loading @@ -4139,17 +4139,22 @@ static void free_mem_cgroup_per_node_info(struct mem_cgroup *memcg, int node) kfree(memcg->nodeinfo[node]); } static void mem_cgroup_free(struct mem_cgroup *memcg) static void __mem_cgroup_free(struct mem_cgroup *memcg) { int node; memcg_wb_domain_exit(memcg); for_each_node(node) free_mem_cgroup_per_node_info(memcg, node); free_percpu(memcg->stat); kfree(memcg); } static void mem_cgroup_free(struct mem_cgroup *memcg) { memcg_wb_domain_exit(memcg); __mem_cgroup_free(memcg); } static struct mem_cgroup *mem_cgroup_alloc(void) { struct mem_cgroup *memcg; Loading Loading @@ -4200,7 +4205,7 @@ static struct mem_cgroup *mem_cgroup_alloc(void) fail: if (memcg->id.id > 0) idr_remove(&mem_cgroup_idr, memcg->id.id); mem_cgroup_free(memcg); __mem_cgroup_free(memcg); return NULL; } Loading Loading
mm/memcontrol.c +8 −3 Original line number Diff line number Diff line Loading @@ -4139,17 +4139,22 @@ static void free_mem_cgroup_per_node_info(struct mem_cgroup *memcg, int node) kfree(memcg->nodeinfo[node]); } static void mem_cgroup_free(struct mem_cgroup *memcg) static void __mem_cgroup_free(struct mem_cgroup *memcg) { int node; memcg_wb_domain_exit(memcg); for_each_node(node) free_mem_cgroup_per_node_info(memcg, node); free_percpu(memcg->stat); kfree(memcg); } static void mem_cgroup_free(struct mem_cgroup *memcg) { memcg_wb_domain_exit(memcg); __mem_cgroup_free(memcg); } static struct mem_cgroup *mem_cgroup_alloc(void) { struct mem_cgroup *memcg; Loading Loading @@ -4200,7 +4205,7 @@ static struct mem_cgroup *mem_cgroup_alloc(void) fail: if (memcg->id.id > 0) idr_remove(&mem_cgroup_idr, memcg->id.id); mem_cgroup_free(memcg); __mem_cgroup_free(memcg); return NULL; } Loading