aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/ptrace.c
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@tv-sign.ru>2008-04-30 03:53:14 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-04-30 11:29:38 -0400
commit33e9fc7d01269737cd5a3b6de1db9d0e796ab708 (patch)
tree36084d425e4d39ea06acff6f12164f257d0a102c /kernel/ptrace.c
parent68cb94786630b34196713794a2880ade17fca887 (diff)
ptrace: ptrace_attach: use send_sig_info() instead force_sig_specific()
Nobody can block/ignore SIGSTOP, no need to use force_sig_specific() in ptrace_attach. Use the "regular" send_sig_info(). With this patch stracing of /sbin/init doesn't clear its SIGNAL_UNKILLABLE, but not that this makes ptracing of init safe. 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 'kernel/ptrace.c')
-rw-r--r--kernel/ptrace.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/kernel/ptrace.c b/kernel/ptrace.c
index ce66d66881fd..5f8d452e8111 100644
--- a/kernel/ptrace.c
+++ b/kernel/ptrace.c
@@ -208,8 +208,7 @@ repeat:
208 208
209 __ptrace_link(task, current); 209 __ptrace_link(task, current);
210 210
211 force_sig_specific(SIGSTOP, task); 211 send_sig_info(SIGSTOP, SEND_SIG_FORCED, task);
212
213bad: 212bad:
214 write_unlock_irqrestore(&tasklist_lock, flags); 213 write_unlock_irqrestore(&tasklist_lock, flags);
215 task_unlock(task); 214 task_unlock(task);