The patch titled
ptrace_stop: fix the race with ptrace detach+attach
has been removed from the -mm tree. Its filename was
ptrace_stop-fix-the-race-with-ptrace-detachattach.patch
This patch was dropped because it was merged into mainline or a subsystem tree
The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/
------------------------------------------------------
Subject: ptrace_stop: fix the race with ptrace detach+attach
From: Oleg Nesterov <[EMAIL PROTECTED]>
If the tracer went away (may_ptrace_stop() failed), ptrace_stop() drops
tasklist and then changes the ->state from TASK_TRACED to TASK_RUNNING.
This can fool another tracer which attaches to us in between. Change the
->state under tasklist_lock to ensure that ptrace_check_attach() can't wrongly
succeed. Also, remove the unnecessary mb().
Signed-off-by: Oleg Nesterov <[EMAIL PROTECTED]>
Acked-by: Roland Dreier <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---
kernel/signal.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff -puN kernel/signal.c~ptrace_stop-fix-the-race-with-ptrace-detachattach
kernel/signal.c
--- a/kernel/signal.c~ptrace_stop-fix-the-race-with-ptrace-detachattach
+++ a/kernel/signal.c
@@ -1638,11 +1638,11 @@ static void ptrace_stop(int exit_code, i
} else {
/*
* By the time we got the lock, our tracer went away.
- * Don't stop here.
+ * Don't drop the lock yet, another tracer may come.
*/
- read_unlock(&tasklist_lock);
- set_current_state(TASK_RUNNING);
+ __set_current_state(TASK_RUNNING);
current->exit_code = nostop_code;
+ read_unlock(&tasklist_lock);
}
/*
_
Patches currently in -mm which might be from [EMAIL PROTECTED] are
origin.patch
revert-proc-fix-the-threaded-proc-self.patch
procfs-task-exe-symlink.patch
procfs-task-exe-symlink-fix.patch
-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html