sched: Add missing rcu_dereference() around ->real_parent usage
authorKees Cook <keescook@chromium.org>
Thu, 15 Dec 2011 16:49:18 +0000 (08:49 -0800)
committerIngo Molnar <mingo@elte.hu>
Fri, 16 Dec 2011 08:42:09 +0000 (09:42 +0100)
Wrap another ->real_parent dereference while under rcu_read_lock.

Signed-off-by: Kees Cook <keescook@chromium.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Glauber Costa <glommer@parallels.com>
Cc: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Link: http://lkml.kernel.org/r/20111215164918.GA13003@www.outflux.net
[ tidied up the changelog ]
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched/core.c

index 3c5b21e2ef209886a5067791f3e8885f919a7acc..c7ea688faff4dd0000e0b9ad11e6c9110b1a98e6 100644 (file)
@@ -4784,7 +4784,7 @@ void sched_show_task(struct task_struct *p)
        free = stack_not_used(p);
 #endif
        printk(KERN_CONT "%5lu %5d %6d 0x%08lx\n", free,
-               task_pid_nr(p), task_pid_nr(p->real_parent),
+               task_pid_nr(p), task_pid_nr(rcu_dereference(p->real_parent)),
                (unsigned long)task_thread_info(p)->flags);
 
        show_stack(p, NULL);