summaryrefslogtreecommitdiff
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
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>
-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;