diff options
author | Tejun Heo <tj@kernel.org> | 2022-10-10 11:08:17 -1000 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2022-10-10 11:08:17 -1000 |
commit | 03db7716159477b595e9af01be8003b7e994cc79 (patch) | |
tree | c917d25e63ab54770b620696c1aa1312a0f879af /kernel/cgroup | |
parent | 46307fd6e27a3f678a1678b02e667678c22aa8cc (diff) |
Revert "cgroup: enable cgroup_get_from_file() on cgroup1"
This reverts commit f3a2aebdd6fb90e444d595e46de64e822af419da.
The commit enabled looking up v1 cgroups via cgroup_get_from_file().
However, there are multiple users, including CLONE_INTO_CGROUP, which have
been assuming that it would only look up v2 cgroups. Returning v1 cgroups
breaks them.
Let's revert the commit and retry later with a separate lookup interface
which allows both v1 and v2.
Signed-off-by: Tejun Heo <tj@kernel.org>
Link: http://lkml.kernel.org/r/000000000000385cbf05ea3f1862@google.com
Cc: Yosry Ahmed <yosryahmed@google.com>
Diffstat (limited to 'kernel/cgroup')
-rw-r--r-- | kernel/cgroup/cgroup.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c index ecf409e3c3a7..6d8a5a40c24d 100644 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c @@ -6234,6 +6234,11 @@ static struct cgroup *cgroup_get_from_file(struct file *f) return ERR_CAST(css); cgrp = css->cgroup; + if (!cgroup_on_dfl(cgrp)) { + cgroup_put(cgrp); + return ERR_PTR(-EBADF); + } + return cgrp; } |