diff options
| author | Oleg Nesterov <[email protected]> | 2008-07-25 01:47:36 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2008-07-25 10:53:39 -0700 |
| commit | 364d3c13c17f45da6d638011078d4c4d3070d719 (patch) | |
| tree | 2e6215dd458010cd92786ac7d67053c5d5171c74 /include/linux/timerqueue.h | |
| parent | f22ab814a24e654b1de24db0c5f8b57b5ab2026a (diff) | |
ptrace: give more respect to SIGKILL
ptrace_stop() has some complicated checks to prevent the scheduling in the
TASK_TRACED state with the pending SIGKILL, but these checks are racy, and
they depend on arch_ptrace_stop_needed().
This patch assumes that the traced task should die asap if it was killed by
SIGKILL, in that case schedule()->signal_pending_state() has no reason to
ignore the TASK_WAKEKILL part of TASK_TRACED, and we can kill this nasty
special case.
Note: do_exit()->ptrace_notify() is special, the killed task can already
dequeue SIGKILL at this point. Another indication that fatal_signal_pending()
is not exactly right.
Signed-off-by: Oleg Nesterov <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Matthew Wilcox <[email protected]>
Cc: Roland McGrath <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions