[patch] memcg: disable hierarchy support if bound to the legacy cgroup hierarchy

From: Johannes Weiner
Date: Mon Mar 02 2015 - 12:39:11 EST

From: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>

If the memory cgroup controller is initially mounted in the scope of the
default cgroup hierarchy and then remounted to a legacy hierarchy, it
will still have hierarchy support enabled, which is incorrect. We should
disable hierarchy support if bound to the legacy cgroup hierarchy.

Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>
mm/memcontrol.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

Andrew, could you please pick this up for 4.0? I don't think it's
urgent enough for -stable, though. Thanks!

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 0c86945bcc9a..68d4890fc4bd 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -5238,7 +5238,9 @@ static void mem_cgroup_bind(struct cgroup_subsys_state *root_css)
* on for the root memcg is enough.
if (cgroup_on_dfl(root_css->cgroup))
- mem_cgroup_from_css(root_css)->use_hierarchy = true;
+ root_mem_cgroup->use_hierarchy = true;
+ else
+ root_mem_cgroup->use_hierarchy = false;

static u64 memory_current_read(struct cgroup_subsys_state *css,

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/