diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/fork.c | 2 | ||||
| -rw-r--r-- | kernel/ptrace.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index b9e2edd00726..875ffbdd96d0 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
| @@ -1409,7 +1409,7 @@ long do_fork(unsigned long clone_flags, | |||
| 1409 | } | 1409 | } |
| 1410 | 1410 | ||
| 1411 | audit_finish_fork(p); | 1411 | audit_finish_fork(p); |
| 1412 | tracehook_report_clone(trace, regs, clone_flags, nr, p); | 1412 | tracehook_report_clone(regs, clone_flags, nr, p); |
| 1413 | 1413 | ||
| 1414 | /* | 1414 | /* |
| 1415 | * We set PF_STARTING at creation in case tracing wants to | 1415 | * We set PF_STARTING at creation in case tracing wants to |
diff --git a/kernel/ptrace.c b/kernel/ptrace.c index 0692ab5a0d67..42c317874cfa 100644 --- a/kernel/ptrace.c +++ b/kernel/ptrace.c | |||
| @@ -304,6 +304,8 @@ int ptrace_detach(struct task_struct *child, unsigned int data) | |||
| 304 | if (child->ptrace) { | 304 | if (child->ptrace) { |
| 305 | child->exit_code = data; | 305 | child->exit_code = data; |
| 306 | dead = __ptrace_detach(current, child); | 306 | dead = __ptrace_detach(current, child); |
| 307 | if (!child->exit_state) | ||
| 308 | wake_up_process(child); | ||
| 307 | } | 309 | } |
| 308 | write_unlock_irq(&tasklist_lock); | 310 | write_unlock_irq(&tasklist_lock); |
| 309 | 311 | ||
