diff options
author | 2006-10-02 02:18:53 -0700 | |
---|---|---|
committer | 2006-10-02 07:57:24 -0700 | |
commit | a593d6edeb0a5a2c6e6919b225cec668a375df52 (patch) | |
tree | f61ea811ad6c9d6bbba9268bdb08cf507fab5e93 /kernel/pid.c | |
parent | [PATCH] proc: convert task_sig() to use lock_task_sighand() (diff) | |
download | linux-rng-a593d6edeb0a5a2c6e6919b225cec668a375df52.tar.xz linux-rng-a593d6edeb0a5a2c6e6919b225cec668a375df52.zip |
[PATCH] proc: convert do_task_stat() to use lock_task_sighand()
Drop tasklist_lock. ->siglock protects almost all interesting data
(including sub-threads traversal) except:
->signal->tty
protected by tty_mutex
->real_parent
the task can't be unhashed while we are holding
->siglock, so ->real_parent can change from under us
but we can safely dereference it under rcu_read_lock()
->pgrp/->session
we can get inconsistent numbers if the task does
sys_setsid/daemonize at the same time. I hope this
is acceptable.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/pid.c')
0 files changed, 0 insertions, 0 deletions