On Thu 12-04-18 17:52:04, Kirill Tkhai wrote:
[...]
> @@ -4471,6 +4477,7 @@ mem_cgroup_css_alloc(struct cgroup_subsys_state 
> *parent_css)
>  
>       return &memcg->css;
>  fail:
> +     mem_cgroup_id_remove(memcg);
>       mem_cgroup_free(memcg);
>       return ERR_PTR(-ENOMEM);
>  }

The only path which jumps to fail: here (in the current mmotm tree) is 
        error = memcg_online_kmem(memcg);
        if (error)
                goto fail;

AFAICS and the only failure path in memcg_online_kmem
        memcg_id = memcg_alloc_cache_id();
        if (memcg_id < 0)
                return memcg_id;

I am not entirely clear on memcg_alloc_cache_id but it seems we do clean
up properly. Or am I missing something?
-- 
Michal Hocko
SUSE Labs

Reply via email to