X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=kernel%2Fkthread.c;h=ac3fb73266412eaaaad2a904cb5bbe7917a159b7;hb=407d819cf0fd54c6fc1138a509225696aecafd15;hp=ac72eea48339cc672cea19962a95e246f87abb83;hpb=867a89e0b73af48838c7987e80899a1ff26dd6ff;p=karo-tx-linux.git diff --git a/kernel/kthread.c b/kernel/kthread.c index ac72eea48339..ac3fb7326641 100644 --- a/kernel/kthread.c +++ b/kernel/kthread.c @@ -98,7 +98,7 @@ static void create_kthread(struct kthread_create_info *create) struct sched_param param = { .sched_priority = 0 }; wait_for_completion(&create->started); read_lock(&tasklist_lock); - create->result = find_task_by_pid(pid); + create->result = find_task_by_pid_ns(pid, &init_pid_ns); read_unlock(&tasklist_lock); /* * root may have changed our (kthreadd's) priority or CPU mask. @@ -180,6 +180,7 @@ void kthread_bind(struct task_struct *k, unsigned int cpu) set_task_cpu(k, cpu); k->cpus_allowed = cpumask_of_cpu(cpu); k->rt.nr_cpus_allowed = 1; + k->flags |= PF_THREAD_BOUND; } EXPORT_SYMBOL(kthread_bind); @@ -234,7 +235,7 @@ int kthreadd(void *unused) set_user_nice(tsk, KTHREAD_NICE_LEVEL); set_cpus_allowed(tsk, CPU_MASK_ALL); - current->flags |= PF_NOFREEZE; + current->flags |= PF_NOFREEZE | PF_FREEZER_NOSIG; for (;;) { set_current_state(TASK_INTERRUPTIBLE);