aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@redhat.com>2009-06-17 19:27:29 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-06-18 16:03:49 -0400
commitdea33cfd99022d82d923a0c6a3bd895fb6683fb2 (patch)
tree889ea712abbbb8b8c220dd593383ec6f9ad15ffc /kernel
parent48597760fad3d6a3e30a14241a3ce5ccb1a0e9bc (diff)
ptrace: mm_need_new_owner: use ->real_parent to search in the siblings
"Search in the siblings" should use ->real_parent, not ->parent. If the task is traced then ->parent == tracer, while the task's parent is always ->real_parent. Signed-off-by: Oleg Nesterov <oleg@redhat.com> Acked-by: 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')
-rw-r--r--kernel/exit.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/exit.c b/kernel/exit.c
index 533e5f85669a..213f906f5e16 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -590,7 +590,7 @@ retry:
590 /* 590 /*
591 * Search in the siblings 591 * Search in the siblings
592 */ 592 */
593 list_for_each_entry(c, &p->parent->children, sibling) { 593 list_for_each_entry(c, &p->real_parent->children, sibling) {
594 if (c->mm == mm) 594 if (c->mm == mm)
595 goto assign_new_owner; 595 goto assign_new_owner;
596 } 596 }