diff options
Diffstat (limited to 'kernel/cpuset.c')
-rw-r--r-- | kernel/cpuset.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/kernel/cpuset.c b/kernel/cpuset.c index 1f107c74087b..7af8577fc8f8 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c | |||
@@ -1429,17 +1429,8 @@ static int cpuset_can_attach(struct cgroup_subsys_state *css, | |||
1429 | goto out_unlock; | 1429 | goto out_unlock; |
1430 | 1430 | ||
1431 | cgroup_taskset_for_each(task, tset) { | 1431 | cgroup_taskset_for_each(task, tset) { |
1432 | /* | 1432 | ret = task_can_attach(task, cs->cpus_allowed); |
1433 | * Kthreads which disallow setaffinity shouldn't be moved | 1433 | if (ret) |
1434 | * to a new cpuset; we don't want to change their cpu | ||
1435 | * affinity and isolating such threads by their set of | ||
1436 | * allowed nodes is unnecessary. Thus, cpusets are not | ||
1437 | * applicable for such threads. This prevents checking for | ||
1438 | * success of set_cpus_allowed_ptr() on all attached tasks | ||
1439 | * before cpus_allowed may be changed. | ||
1440 | */ | ||
1441 | ret = -EINVAL; | ||
1442 | if (task->flags & PF_NO_SETAFFINITY) | ||
1443 | goto out_unlock; | 1434 | goto out_unlock; |
1444 | ret = security_task_setscheduler(task); | 1435 | ret = security_task_setscheduler(task); |
1445 | if (ret) | 1436 | if (ret) |