diff options
author | Oleg Nesterov <oleg@tv-sign.ru> | 2008-04-30 09:54:29 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-30 17:29:49 +0200 |
commit | 12a3de0a965826096d8adc593bcf4392a7d5b459 (patch) | |
tree | 764d69c2973e67cb3ae58bec02e29cd616c40f90 /drivers/char/mxser.h | |
parent | pids: sys_getsid: fix unsafe *pid usage, fix possible 0 instead of -ESRCH (diff) | |
download | linux-12a3de0a965826096d8adc593bcf4392a7d5b459.tar.xz linux-12a3de0a965826096d8adc593bcf4392a7d5b459.zip |
pids: sys_getpgid: fix unsafe *pid usage, s/tasklist/rcu/
1. sys_getpgid() needs rcu_read_lock() to derive the pgrp _nr, even if
the task is current, otherwise we can race with another thread which
does sys_setpgid().
2. Use rcu_read_lock() instead of tasklist_lock when pid != 0, make sure
that we don't use the NULL pid if the task exits right after successful
find_task_by_vpid().
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 'drivers/char/mxser.h')
0 files changed, 0 insertions, 0 deletions