|
@@ -457,6 +457,9 @@ void exit_ptrace(struct task_struct *tracer)
|
|
return;
|
|
return;
|
|
|
|
|
|
list_for_each_entry_safe(p, n, &tracer->ptraced, ptrace_entry) {
|
|
list_for_each_entry_safe(p, n, &tracer->ptraced, ptrace_entry) {
|
|
|
|
+ if (unlikely(p->ptrace & PT_EXITKILL))
|
|
|
|
+ send_sig_info(SIGKILL, SEND_SIG_FORCED, p);
|
|
|
|
+
|
|
if (__ptrace_detach(tracer, p))
|
|
if (__ptrace_detach(tracer, p))
|
|
list_add(&p->ptrace_entry, &ptrace_dead);
|
|
list_add(&p->ptrace_entry, &ptrace_dead);
|
|
}
|
|
}
|