diff --git a/[refs] b/[refs] index fcac38deb6e6..55dc4384d974 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fa72e26a640e551637f91122d782d5a85d514f5b +refs/heads/master: 26ff6ad9786abf6f40a6d3cbb89753b4fa50cb00 diff --git a/trunk/kernel/fork.c b/trunk/kernel/fork.c index 8149f3602881..533ce27f4b2c 100644 --- a/trunk/kernel/fork.c +++ b/trunk/kernel/fork.c @@ -1062,7 +1062,8 @@ static task_t *copy_process(unsigned long clone_flags, * parent's CPU). This avoids alot of nasty races. */ p->cpus_allowed = current->cpus_allowed; - if (unlikely(!cpu_isset(task_cpu(p), p->cpus_allowed))) + if (unlikely(!cpu_isset(task_cpu(p), p->cpus_allowed) || + !cpu_online(task_cpu(p)))) set_task_cpu(p, smp_processor_id()); /*