It was found that when a cgroup2 filesystem was mounted, control
files other than the base cgroup.* ones were not shown in the root
directory.  They were shown only after some controllers were activated
in the root's cgroup.subtree_control file.

This was caused by a lack of the kernfs_activate() call which was fixed
by this patch.

Signed-off-by: Waiman Long <[email protected]>
---
 kernel/cgroup/cgroup.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
index 89a23c6..fb1893b 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -2024,8 +2024,10 @@ static struct dentry *cgroup_mount(struct 
file_system_type *fs_type,
 
                dentry = cgroup_do_mount(&cgroup2_fs_type, flags, 
&cgrp_dfl_root,
                                         CGROUP2_SUPER_MAGIC, ns);
-               if (!IS_ERR(dentry))
+               if (!IS_ERR(dentry)) {
                        apply_cgroup_root_flags(root_flags);
+                       kernfs_activate(cgrp_dfl_root.cgrp.kn);
+               }
        } else {
                dentry = cgroup1_mount(&cgroup_fs_type, flags, data,
                                       CGROUP_SUPER_MAGIC, ns);
-- 
1.8.3.1

Reply via email to