|
@@ -76,6 +76,7 @@ static int kthread(void *_create)
|
|
|
|
|
|
/* OK, tell user we're spawned, wait for stop or wakeup */
|
|
|
__set_current_state(TASK_UNINTERRUPTIBLE);
|
|
|
+ create->result = current;
|
|
|
complete(&create->started);
|
|
|
schedule();
|
|
|
|
|
@@ -101,9 +102,6 @@ static void create_kthread(struct kthread_create_info *create)
|
|
|
} else {
|
|
|
struct sched_param param = { .sched_priority = 0 };
|
|
|
wait_for_completion(&create->started);
|
|
|
- read_lock(&tasklist_lock);
|
|
|
- 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.
|
|
|
* The kernel thread should not inherit these properties.
|