diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2018-08-14 08:35:04 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-08-14 08:35:04 -0700 |
| commit | e04bed8a9977c8f66a3427690148ea8f6e81c559 (patch) | |
| tree | 8932e92f1bc0f63f94a2e638d31c376d63559340 /kernel | |
| parent | c0d9b811502a3aa550d4572f205449132714ae75 (diff) | |
| parent | 47d4272073b20d8a359b4279a9eb468ea2541289 (diff) | |
Merge "cgroup: Fix deadlock in cpu hotplug path"
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/cgroup.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/cgroup.c b/kernel/cgroup.c index 3fdb7545852e..cd3d81961cc2 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c @@ -4092,7 +4092,11 @@ int cgroup_transfer_tasks(struct cgroup *to, struct cgroup *from) */ do { css_task_iter_start(&from->self, &it); - task = css_task_iter_next(&it); + + do { + task = css_task_iter_next(&it); + } while (task && (task->flags & PF_EXITING)); + if (task) get_task_struct(task); css_task_iter_end(&it); |
