|
@@ -1791,19 +1791,20 @@ out:
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * cgroup_attach_task_current_cg - attach task 'tsk' to current task's cgroup
|
|
|
+ * cgroup_attach_task_all - attach task 'tsk' to all cgroups of task 'from'
|
|
|
+ * @from: attach to all cgroups of a given task
|
|
|
* @tsk: the task to be attached
|
|
|
*/
|
|
|
-int cgroup_attach_task_current_cg(struct task_struct *tsk)
|
|
|
+int cgroup_attach_task_all(struct task_struct *from, struct task_struct *tsk)
|
|
|
{
|
|
|
struct cgroupfs_root *root;
|
|
|
- struct cgroup *cur_cg;
|
|
|
int retval = 0;
|
|
|
|
|
|
cgroup_lock();
|
|
|
for_each_active_root(root) {
|
|
|
- cur_cg = task_cgroup_from_root(current, root);
|
|
|
- retval = cgroup_attach_task(cur_cg, tsk);
|
|
|
+ struct cgroup *from_cg = task_cgroup_from_root(from, root);
|
|
|
+
|
|
|
+ retval = cgroup_attach_task(from_cg, tsk);
|
|
|
if (retval)
|
|
|
break;
|
|
|
}
|
|
@@ -1811,7 +1812,7 @@ int cgroup_attach_task_current_cg(struct task_struct *tsk)
|
|
|
|
|
|
return retval;
|
|
|
}
|
|
|
-EXPORT_SYMBOL_GPL(cgroup_attach_task_current_cg);
|
|
|
+EXPORT_SYMBOL_GPL(cgroup_attach_task_all);
|
|
|
|
|
|
/*
|
|
|
* Attach task with pid 'pid' to cgroup 'cgrp'. Call with cgroup_mutex
|