summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2019-11-14 14:46:51 -0800
committerTejun Heo <tj@kernel.org>2019-11-14 14:46:51 -0800
commitd7495343228f30d8206e92dccfd1c41adcfa142d (patch)
tree0e4aa6672470c7b17555c04d19f7d6bded19c512
parent743210386c0354a2f8ef3d697353c7d8477fa81d (diff)
downloadlinux-d7495343228f30d8206e92dccfd1c41adcfa142d.tar.gz
linux-d7495343228f30d8206e92dccfd1c41adcfa142d.tar.bz2
linux-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>
-rw-r--r--kernel/cgroup/cgroup.c2
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);