Messages in this thread Patch in this message | | | From | (Eric W. Biederman) | Date | Thu, 24 Jun 2021 14:03:50 -0500 | Subject | [PATCH 9/9] signal: Move PTRACE_EVENT_EXIT into get_signal |
| |
This ensures that we always have all full set of registers available when PTRACE_EVENT_EXIT is called. Something that is not guaranteed for callers of do_exit.
Additionally this guarantees PTRACE_EVENT_EXIT will not cause havoc with abnormal exits.
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> --- kernel/exit.c | 2 -- kernel/signal.c | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/exit.c b/kernel/exit.c index 51e0c82b3f7d..309f1d71e340 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -763,8 +763,6 @@ void __noreturn do_exit(long code) profile_task_exit(tsk); kcov_task_exit(tsk); - ptrace_event(PTRACE_EVENT_EXIT, code); - validate_creds_for_do_exit(tsk); /* diff --git a/kernel/signal.c b/kernel/signal.c index 63fda9b6bbf9..7214331836bc 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -2890,6 +2890,8 @@ bool get_signal(struct ksignal *ksig) if (exit_code & 0x7f) current->flags |= PF_SIGNALED; + ptrace_event(PTRACE_EVENT_EXIT, exit_code); + /* * PF_IO_WORKER threads will catch and exit on fatal signals * themselves. They have cleanup that must be performed, so -- 2.20.1
| |