|
@@ -5221,6 +5221,11 @@ err_free_css:
|
|
|
return ERR_PTR(err);
|
|
|
}
|
|
|
|
|
|
+/*
|
|
|
+ * The returned cgroup is fully initialized including its control mask, but
|
|
|
+ * it isn't associated with its kernfs_node and doesn't have the control
|
|
|
+ * mask applied.
|
|
|
+ */
|
|
|
static struct cgroup *cgroup_create(struct cgroup *parent)
|
|
|
{
|
|
|
struct cgroup_root *root = parent->root;
|
|
@@ -5288,11 +5293,6 @@ static struct cgroup *cgroup_create(struct cgroup *parent)
|
|
|
|
|
|
cgroup_propagate_control(cgrp);
|
|
|
|
|
|
- /* @cgrp doesn't have dir yet so the following will only create csses */
|
|
|
- ret = cgroup_apply_control_enable(cgrp);
|
|
|
- if (ret)
|
|
|
- goto out_destroy;
|
|
|
-
|
|
|
return cgrp;
|
|
|
|
|
|
out_cancel_ref:
|
|
@@ -5300,9 +5300,6 @@ out_cancel_ref:
|
|
|
out_free_cgrp:
|
|
|
kfree(cgrp);
|
|
|
return ERR_PTR(ret);
|
|
|
-out_destroy:
|
|
|
- cgroup_destroy_locked(cgrp);
|
|
|
- return ERR_PTR(ret);
|
|
|
}
|
|
|
|
|
|
static int cgroup_mkdir(struct kernfs_node *parent_kn, const char *name,
|