diff options
author | Tejun Heo <tj@kernel.org> | 2019-11-14 14:46:51 -0800 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2019-11-14 14:46:51 -0800 |
commit | d7495343228f30d8206e92dccfd1c41adcfa142d (patch) | |
tree | 0e4aa6672470c7b17555c04d19f7d6bded19c512 /kernel/cgroup | |
parent | 743210386c0354a2f8ef3d697353c7d8477fa81d (diff) | |
download | lwn-d7495343228f30d8206e92dccfd1c41adcfa142d.tar.gz lwn-d7495343228f30d8206e92dccfd1c41adcfa142d.zip |
cgroup: fix incorrect WARN_ON_ONCE() in cgroup_setup_root()
743210386c03 ("cgroup: use cgrp->kn->id as the cgroup ID") added WARN
which triggers if cgroup_id(root_cgrp) is not 1. This is fine on
64bit ino archs but on 32bit archs cgroup ID is ((gen << 32) | ino)
and gen starts at 1, so the root id is 0x1_0000_0001 instead of 1
always triggering the WARN.
What we wanna make sure is that the ino part is 1. Fix it.
Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Fixes: 743210386c03 ("cgroup: use cgrp->kn->id as the cgroup ID")
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'kernel/cgroup')
-rw-r--r-- | kernel/cgroup/cgroup.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c index c12dcf7dc432..53098c1d45e2 100644 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c @@ -1966,7 +1966,7 @@ int cgroup_setup_root(struct cgroup_root *root, u16 ss_mask) goto exit_root_id; } root_cgrp->kn = root->kf_root->kn; - WARN_ON_ONCE(cgroup_id(root_cgrp) != 1); + WARN_ON_ONCE(cgroup_ino(root_cgrp) != 1); root_cgrp->ancestor_ids[0] = cgroup_id(root_cgrp); ret = css_populate_dir(&root_cgrp->self); |