/* At the point that cgroup_fork() is called, 'current' is the parent task, and the passed argument 'child' points to the child task.  */
void cgroup_fork(struct task_struct *child)
/* At the point that cgroup_fork() is called, 'current' is the parent task, and the passed argument 'child' points to the child task.  */
void cgroup_fork(struct task_struct *child)
{
	task_lock(current);
	child->cgroups = current->cgroups;
	get_css_set(child->cgroups);
	task_unlock(current);
	INIT_LIST_HEAD(&child->cg_list);
}