diff options
| author | Kirill Tkhai <[email protected]> | 2018-08-02 22:36:01 +0000 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2018-08-02 23:03:40 +0000 |
| commit | 7e97de0b033bcac4fa9a35cef72e0c06e6a22c67 (patch) | |
| tree | 7c0d969f5f2e12e34e4f53a94f42bcba82a4ceed /fs/btrfs/dev-replace.c | |
| parent | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net (diff) | |
| download | kernel-7e97de0b033bcac4fa9a35cef72e0c06e6a22c67.tar.gz kernel-7e97de0b033bcac4fa9a35cef72e0c06e6a22c67.zip | |
memcg: remove memcg_cgroup::id from IDR on mem_cgroup_css_alloc() failure
In case of memcg_online_kmem() failure, memcg_cgroup::id remains hashed
in mem_cgroup_idr even after memcg memory is freed. This leads to leak
of ID in mem_cgroup_idr.
This patch adds removal into mem_cgroup_css_alloc(), which fixes the
problem. For better readability, it adds a generic helper which is used
in mem_cgroup_alloc() and mem_cgroup_id_put_many() as well.
Link: http://lkml.kernel.org/r/152354470916.22460.14397070748001974638.stgit@localhost.localdomain
Fixes 73f576c04b94 ("mm: memcontrol: fix cgroup creation failure after many small jobs")
Signed-off-by: Kirill Tkhai <[email protected]>
Acked-by: Johannes Weiner <[email protected]>
Acked-by: Vladimir Davydov <[email protected]>
Cc: Michal Hocko <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'fs/btrfs/dev-replace.c')
0 files changed, 0 insertions, 0 deletions
