diff options
author | Oleg Nesterov <oleg@tv-sign.ru> | 2006-08-27 01:23:34 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-08-27 11:01:29 -0700 |
commit | f8986c241dfd54d51c9eff967129a550ae230144 (patch) | |
tree | 62f9a9739a2119024ad7bef7c26498bd332904b5 /kernel/wait.c | |
parent | cb3e0fe3a5dabdc5eda50b825acb23bdfa2d1d55 (diff) | |
download | linux-f8986c241dfd54d51c9eff967129a550ae230144.tar.bz2 |
[PATCH] revert "Drop tasklist lock in do_sched_setscheduler"
sched_setscheduler() looks at ->signal->rlim[]. It is unsafe do
dereference ->signal unless tasklist_lock or ->siglock is held (or p ==
current). We pin the task structure, but this can't prevent from
release_task()->__exit_signal() which sets ->signal = NULL.
Restore tasklist_lock across the setscheduler call.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/wait.c')
0 files changed, 0 insertions, 0 deletions