Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cgroup: fix rule checking for threaded mode switching
A domain cgroup isn't allowed to be turned threaded if its subtree is populated or domain controllers are enabled. cgroup_enable_threaded() depended on cgroup_can_be_thread_root() test to enforce this rule. A parent which has populated domain descendants or have domain controllers enabled can't become a thread root, so the above rules are enforced automatically. However, for the root cgroup which can host mixed domain and threaded children, cgroup_can_be_thread_root() doesn't check any of those conditions and thus first level cgroups ends up escaping those rules. This patch fixes the bug by adding explicit checks for those rules in cgroup_enable_threaded(). Reported-by: Michael Kerrisk (man-pages) <[email protected]> Signed-off-by: Tejun Heo <[email protected]> Fixes: 8cfd814 ("cgroup: implement cgroup v2 thread support") Cc: [email protected] # v4.14+
- Loading branch information