public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC, PATCH 0/2] utrace/ptrace: simplify/cleanup ptrace attach
@ 2009-05-03 18:55 Oleg Nesterov
  2009-05-04 18:49 ` Roland McGrath
  0 siblings, 1 reply; 14+ messages in thread
From: Oleg Nesterov @ 2009-05-03 18:55 UTC (permalink / raw)
  To: Andrew Morton, Roland McGrath; +Cc: Jeff Dike, utrace-devel, linux-kernel

Shouldn't be applied without Roland's ack.

I just don't know how to merge the second patch properly. I think it would be
really nice to cleanup ptrace attach before "ptracee data structures cleanup",
but this depends on utrace-core.patch which adds exclude_ptrace().

With the first patch, the second one (and hopefully the further cleanups) does
not depend on utrace.

Or, we can start with something like the patch below. Or, instead we can move
the "already traced" check into exclude_ptrace, this way only this helper will
depend on utrace changes. But personally I'd prefer to remove exclude_ptrace()
for now and add the correct checks later.

Roland, what do you think?

Oleg.

--- a/kernel/ptrace.c
+++ b/kernel/ptrace.c
@@ -190,6 +190,9 @@ int ptrace_attach(struct task_struct *ta
 
 	audit_ptrace(task);
 
+	if (exclude_ptrace(task))
+		return -EBUSY;
+
 	retval = -EPERM;
 	if (same_thread_group(task, current))
 		goto out;
@@ -221,11 +224,6 @@ repeat:
 		goto repeat;
 	}
 
-	if (exclude_ptrace(task)) {
-		retval = -EBUSY;
-		goto bad;
-	}
-
 	if (!task->mm)
 		goto bad;
 	/* the same process cannot be attached many times */
@@ -597,14 +595,14 @@ int ptrace_traceme(void)
 {
 	int ret = -EPERM;
 
+	if (exclude_ptrace(current))
+		return -EBUSY;
 	/*
 	 * Are we already being traced?
 	 */
 repeat:
 	task_lock(current);
-	if (exclude_ptrace(current)) {
-		ret = -EBUSY;
-	} else if (!(current->ptrace & PT_PTRACED)) {
+	if (!(current->ptrace & PT_PTRACED)) {
 		/*
 		 * See ptrace_attach() comments about the locking here.
 		 */


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2009-05-08 15:09 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-03 18:55 [RFC, PATCH 0/2] utrace/ptrace: simplify/cleanup ptrace attach Oleg Nesterov
2009-05-04 18:49 ` Roland McGrath
2009-05-04 19:30   ` Oleg Nesterov
2009-05-04 19:43     ` Roland McGrath
2009-05-04 23:31       ` Andrew Morton
2009-05-05  1:12         ` Roland McGrath
2009-05-05 23:06         ` Oleg Nesterov
2009-05-06  8:12           ` Ingo Molnar
2009-05-06  8:23             ` Christoph Hellwig
2009-05-06  9:05               ` Ingo Molnar
2009-05-06  9:11                 ` Christoph Hellwig
2009-05-06  9:37                   ` Ingo Molnar
2009-05-07  6:13                     ` Roland McGrath
2009-05-08 15:08                       ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox