diff options
Diffstat (limited to 'kernel/cgroup/cgroup-v1.c')
-rw-r--r-- | kernel/cgroup/cgroup-v1.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/cgroup/cgroup-v1.c b/kernel/cgroup/cgroup-v1.c index 024085daab1a..a2c05d2476ac 100644 --- a/kernel/cgroup/cgroup-v1.c +++ b/kernel/cgroup/cgroup-v1.c | |||
@@ -123,7 +123,11 @@ int cgroup_transfer_tasks(struct cgroup *to, struct cgroup *from) | |||
123 | */ | 123 | */ |
124 | do { | 124 | do { |
125 | css_task_iter_start(&from->self, 0, &it); | 125 | css_task_iter_start(&from->self, 0, &it); |
126 | task = css_task_iter_next(&it); | 126 | |
127 | do { | ||
128 | task = css_task_iter_next(&it); | ||
129 | } while (task && (task->flags & PF_EXITING)); | ||
130 | |||
127 | if (task) | 131 | if (task) |
128 | get_task_struct(task); | 132 | get_task_struct(task); |
129 | css_task_iter_end(&it); | 133 | css_task_iter_end(&it); |