diff options
author | Oleg Nesterov <oleg@redhat.com> | 2009-06-17 16:27:29 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-18 13:03:49 -0700 |
commit | dea33cfd99022d82d923a0c6a3bd895fb6683fb2 (patch) | |
tree | 889ea712abbbb8b8c220dd593383ec6f9ad15ffc /kernel | |
parent | 48597760fad3d6a3e30a14241a3ce5ccb1a0e9bc (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.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/exit.c b/kernel/exit.c index 533e5f85669..213f906f5e1 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -590,7 +590,7 @@ retry: /* * Search in the siblings */ - list_for_each_entry(c, &p->parent->children, sibling) { + list_for_each_entry(c, &p->real_parent->children, sibling) { if (c->mm == mm) goto assign_new_owner; } |