diff options
Diffstat (limited to 'kernel/ptrace.c')
| -rw-r--r-- | kernel/ptrace.c | 12 | 
1 files changed, 12 insertions, 0 deletions
diff --git a/kernel/ptrace.c b/kernel/ptrace.c index 4c8bcd7dd8e0..100a71cfdaba 100644 --- a/kernel/ptrace.c +++ b/kernel/ptrace.c  | |||
| @@ -25,6 +25,17 @@ | |||
| 25 | #include <asm/pgtable.h> | 25 | #include <asm/pgtable.h> | 
| 26 | #include <asm/uaccess.h> | 26 | #include <asm/uaccess.h> | 
| 27 | 27 | ||
| 28 | |||
| 29 | /* | ||
| 30 | * Initialize a new task whose father had been ptraced. | ||
| 31 | * | ||
| 32 | * Called from copy_process(). | ||
| 33 | */ | ||
| 34 | void ptrace_fork(struct task_struct *child, unsigned long clone_flags) | ||
| 35 | { | ||
| 36 | arch_ptrace_fork(child, clone_flags); | ||
| 37 | } | ||
| 38 | |||
| 28 | /* | 39 | /* | 
| 29 | * ptrace a task: make the debugger its new parent and | 40 | * ptrace a task: make the debugger its new parent and | 
| 30 | * move it to the ptrace list. | 41 | * move it to the ptrace list. | 
| @@ -72,6 +83,7 @@ void __ptrace_unlink(struct task_struct *child) | |||
| 72 | child->parent = child->real_parent; | 83 | child->parent = child->real_parent; | 
| 73 | list_del_init(&child->ptrace_entry); | 84 | list_del_init(&child->ptrace_entry); | 
| 74 | 85 | ||
| 86 | arch_ptrace_untrace(child); | ||
| 75 | if (task_is_traced(child)) | 87 | if (task_is_traced(child)) | 
| 76 | ptrace_untrace(child); | 88 | ptrace_untrace(child); | 
| 77 | } | 89 | } | 
