lkml.org 
[lkml]   [2009]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH 1/2] ia64: ptrace_attach_sync_user_rbs: use ->sighand instead of ->signal to check the task is alive
No functional changes.

It doesn't matter which pointer to check under tasklist to ensure the task
was not released, ->signal or ->sighand. But we are going to make ->signal
refcountable, change the code to use ->sighand.

Actually, this code doesn't need tasklist_lock and this check at all, it
should be converted to use lock_task_sighand().

Signed-off-by: Oleg Nesterov <oleg@redhat.com>

--- 6.29-rc3/arch/ia64/kernel/ptrace.c~1_IA64_PTRACE 2008-12-02 17:12:35.000000000 +0100
+++ 6.29-rc3/arch/ia64/kernel/ptrace.c 2009-02-03 23:55:41.000000000 +0100
@@ -640,7 +640,7 @@ ptrace_attach_sync_user_rbs (struct task
*/

read_lock(&tasklist_lock);
- if (child->signal) {
+ if (child->sighand) {
spin_lock_irq(&child->sighand->siglock);
if (child->state == TASK_STOPPED &&
!test_and_set_tsk_thread_flag(child, TIF_RESTORE_RSE)) {
@@ -664,7 +664,7 @@ ptrace_attach_sync_user_rbs (struct task
* job control stop, so that SIGCONT can be used to wake it up.
*/
read_lock(&tasklist_lock);
- if (child->signal) {
+ if (child->sighand) {
spin_lock_irq(&child->sighand->siglock);
if (child->state == TASK_TRACED &&
(child->signal->flags & SIGNAL_STOP_STOPPED)) {


\
 
 \ /
  Last update: 2009-02-04 00:23    [W:0.042 / U:0.084 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site