[PATCH] wait_task_zombie: don't fight with non-existing race with a dying ptracee

From: Oleg Nesterov
Date: Fri Aug 17 2007 - 11:35:11 EST


(textually depends on wait_task_zombie-remove-unneeded-child-signal-check.patch)

The "p->exit_signal == -1 && p->ptrace == 0" check and the comment are bogus.
We already did exactly the same check in eligible_child(), we did not drop
tasklist_lock since then, and both variables need write_lock(tasklist) to be
changed.

Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>

--- t/kernel/exit.c~1_WTZ_NORACE 2007-08-17 17:31:59.000000000 +0400
+++ t/kernel/exit.c 2007-08-17 18:56:31.000000000 +0400
@@ -1210,13 +1210,6 @@ static int wait_task_zombie(struct task_
BUG_ON(state != EXIT_DEAD);
return 0;
}
- if (unlikely(p->exit_signal == -1 && p->ptrace == 0)) {
- /*
- * This can only happen in a race with a ptraced thread
- * dying on another processor.
- */
- return 0;
- }

/* traced means p->ptrace, but not vice versa */
traced = (p->real_parent != p->parent);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/