|
@@ -2735,6 +2735,8 @@ void cgroup_fork_callbacks(struct task_struct *child)
|
|
* Called on every change to mm->owner. mm_init_owner() does not
|
|
* Called on every change to mm->owner. mm_init_owner() does not
|
|
* invoke this routine, since it assigns the mm->owner the first time
|
|
* invoke this routine, since it assigns the mm->owner the first time
|
|
* and does not change it.
|
|
* and does not change it.
|
|
|
|
+ *
|
|
|
|
+ * The callbacks are invoked with mmap_sem held in read mode.
|
|
*/
|
|
*/
|
|
void cgroup_mm_owner_callbacks(struct task_struct *old, struct task_struct *new)
|
|
void cgroup_mm_owner_callbacks(struct task_struct *old, struct task_struct *new)
|
|
{
|
|
{
|
|
@@ -2750,7 +2752,7 @@ void cgroup_mm_owner_callbacks(struct task_struct *old, struct task_struct *new)
|
|
if (oldcgrp == newcgrp)
|
|
if (oldcgrp == newcgrp)
|
|
continue;
|
|
continue;
|
|
if (ss->mm_owner_changed)
|
|
if (ss->mm_owner_changed)
|
|
- ss->mm_owner_changed(ss, oldcgrp, newcgrp);
|
|
|
|
|
|
+ ss->mm_owner_changed(ss, oldcgrp, newcgrp, new);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|