summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2016-06-21 13:06:24 -0400
committerMichael Bestas <mkbestas@lineageos.org>2022-04-19 00:51:04 +0300
commitf039bb0eae4923743ffcd7932fd519e2713458ec (patch)
treea89e4127f7cd52197dd25cb31fda68f96a6a1712 /kernel
parentc091fc3cb816ee387c842cba89fa08136c1574c8 (diff)
cgroup: allow NULL return from ss->css_alloc()
cgroup core expected css_alloc to return an ERR_PTR value on failure and caused NULL deref if it returned NULL. It's an easy mistake to make from an alloc function and there's no ambiguity in what's being indicated. Update css_create() so that it interprets NULL return from css_alloc as -ENOMEM. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Chatur27 <jasonbright2709@gmail.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/cgroup.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 6ef0861e08c8..d383a08c97d2 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -5154,6 +5154,8 @@ static struct cgroup_subsys_state *css_create(struct cgroup *cgrp,
lockdep_assert_held(&cgroup_mutex);
css = ss->css_alloc(parent_css);
+ if (!css)
+ css = ERR_PTR(-ENOMEM);
if (IS_ERR(css))
return css;