|
@@ -1808,6 +1808,7 @@ struct task_struct *cgroup_iter_next(struct cgroup *cgrp,
|
|
|
{
|
|
|
struct task_struct *res;
|
|
|
struct list_head *l = it->task;
|
|
|
+ struct cg_cgroup_link *link;
|
|
|
|
|
|
/* If the iterator cg is NULL, we have no tasks */
|
|
|
if (!it->cg_link)
|
|
@@ -1815,7 +1816,8 @@ struct task_struct *cgroup_iter_next(struct cgroup *cgrp,
|
|
|
res = list_entry(l, struct task_struct, cg_list);
|
|
|
/* Advance iterator to find next entry */
|
|
|
l = l->next;
|
|
|
- if (l == &res->cgroups->tasks) {
|
|
|
+ link = list_entry(it->cg_link, struct cg_cgroup_link, cgrp_link_list);
|
|
|
+ if (l == &link->cg->tasks) {
|
|
|
/* We reached the end of this task list - move on to
|
|
|
* the next cg_cgroup_link */
|
|
|
cgroup_advance_iter(cgrp, it);
|