| From a41c58a6665cc995e237303b05db42100b71b65e Mon Sep 17 00:00:00 2001 |
| From: Hillf Danton <dhillf@gmail.com> |
| Date: Mon, 19 Dec 2011 17:11:57 -0800 |
| Subject: memcg: keep root group unchanged if creation fails |
| |
| From: Hillf Danton <dhillf@gmail.com> |
| |
| commit a41c58a6665cc995e237303b05db42100b71b65e upstream. |
| |
| If the request is to create non-root group and we fail to meet it, we |
| should leave the root unchanged. |
| |
| Signed-off-by: Hillf Danton <dhillf@gmail.com> |
| Signed-off-by: Hugh Dickins <hughd@google.com> |
| Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> |
| Acked-by: Michal Hocko <mhocko@suse.cz> |
| Cc: Balbir Singh <bsingharora@gmail.com> |
| Cc: David Rientjes <rientjes@google.com> |
| Cc: Andrea Arcangeli <aarcange@redhat.com> |
| Cc: Johannes Weiner <hannes@cmpxchg.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| mm/memcontrol.c | 3 +-- |
| 1 file changed, 1 insertion(+), 2 deletions(-) |
| |
| --- a/mm/memcontrol.c |
| +++ b/mm/memcontrol.c |
| @@ -4963,9 +4963,9 @@ mem_cgroup_create(struct cgroup_subsys * |
| int cpu; |
| enable_swap_cgroup(); |
| parent = NULL; |
| - root_mem_cgroup = mem; |
| if (mem_cgroup_soft_limit_tree_init()) |
| goto free_out; |
| + root_mem_cgroup = mem; |
| for_each_possible_cpu(cpu) { |
| struct memcg_stock_pcp *stock = |
| &per_cpu(memcg_stock, cpu); |
| @@ -5004,7 +5004,6 @@ mem_cgroup_create(struct cgroup_subsys * |
| return &mem->css; |
| free_out: |
| __mem_cgroup_free(mem); |
| - root_mem_cgroup = NULL; |
| return ERR_PTR(error); |
| } |
| |