aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/cgroup.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 1fbcc748044a..aa3bee566446 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -2936,14 +2936,17 @@ static long cgroup_create(struct cgroup *parent, struct dentry *dentry,
2936 2936
2937 for_each_subsys(root, ss) { 2937 for_each_subsys(root, ss) {
2938 struct cgroup_subsys_state *css = ss->create(ss, cgrp); 2938 struct cgroup_subsys_state *css = ss->create(ss, cgrp);
2939
2939 if (IS_ERR(css)) { 2940 if (IS_ERR(css)) {
2940 err = PTR_ERR(css); 2941 err = PTR_ERR(css);
2941 goto err_destroy; 2942 goto err_destroy;
2942 } 2943 }
2943 init_cgroup_css(css, ss, cgrp); 2944 init_cgroup_css(css, ss, cgrp);
2944 if (ss->use_id) 2945 if (ss->use_id) {
2945 if (alloc_css_id(ss, parent, cgrp)) 2946 err = alloc_css_id(ss, parent, cgrp);
2947 if (err)
2946 goto err_destroy; 2948 goto err_destroy;
2949 }
2947 /* At error, ->destroy() callback has to free assigned ID. */ 2950 /* At error, ->destroy() callback has to free assigned ID. */
2948 } 2951 }
2949 2952