Organize the function in "if () goto err" style, since next patch will add more "if" branches. Also assign and clear memcg->nodeinfo[node] earlier for the same reason. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> --- mm/memcontrol.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index acabea274cc3..38523c8ea7c9 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -4326,20 +4326,22 @@ static int alloc_mem_cgroup_per_node_info(struct mem_cgroup *memcg, int node) pn = kzalloc_node(sizeof(*pn), GFP_KERNEL, tmp); if (!pn) return 1; + memcg->nodeinfo[node] = pn; pn->lruvec_stat_cpu = alloc_percpu(struct lruvec_stat); - if (!pn->lruvec_stat_cpu) { - kfree(pn); - return 1; - } + if (!pn->lruvec_stat_cpu) + goto err_pcpu; lruvec_init(&pn->lruvec); pn->usage_in_excess = 0; pn->on_tree = false; pn->memcg = memcg; - - memcg->nodeinfo[node] = pn; return 0; + +err_pcpu: + memcg->nodeinfo[node] = NULL; + kfree(pn); + return 1; } static void free_mem_cgroup_per_node_info(struct mem_cgroup *memcg, int node)