diff options
Diffstat (limited to 'kernel/sched.c')
| -rw-r--r-- | kernel/sched.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index 72a2a16e221..4ac56fe3c39 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -44,6 +44,7 @@  #include <linux/vmalloc.h>  #include <linux/blkdev.h>  #include <linux/delay.h> +#include <linux/pid_namespace.h>  #include <linux/smp.h>  #include <linux/threads.h>  #include <linux/timer.h> @@ -1876,7 +1877,7 @@ asmlinkage void schedule_tail(struct task_struct *prev)  	preempt_enable();  #endif  	if (current->set_child_tid) -		put_user(current->pid, current->set_child_tid); +		put_user(task_pid_vnr(current), current->set_child_tid);  }  /* @@ -4167,7 +4168,8 @@ struct task_struct *idle_task(int cpu)   */  static struct task_struct *find_process_by_pid(pid_t pid)  { -	return pid ? find_task_by_pid(pid) : current; +	return pid ? +		find_task_by_pid_ns(pid, current->nsproxy->pid_ns) : current;  }  /* Actually do priority change: must hold rq lock. */  |