diff options
author | Oleg Nesterov <oleg@tv-sign.ru> | 2008-04-30 00:54:28 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-30 08:29:49 -0700 |
commit | 1dd768c0815334d2319d6377f0750ace075b6142 (patch) | |
tree | 13e3d42f3679ef1a50e276abdbeafccc9cfe1ed0 /Documentation/voyager.txt | |
parent | 7d8da0962eaee30b4a380ded177349bfbdd6ac46 (diff) |
pids: sys_getsid: fix unsafe *pid usage, fix possible 0 instead of -ESRCH
1. sys_getsid() needs rcu_read_lock() to derive the session _nr, even if
the task is current, otherwise we can race with another thread which
does sys_setsid().
2. The task can exit between find_task_by_vpid() and task_session_vnr(),
in that unlikely case sys_getsid() returns 0 instead of -ESRCH.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation/voyager.txt')
0 files changed, 0 insertions, 0 deletions