ptrace: Remove tracehook_signal_handler

The two line function tracehook_signal_handler is only called from
signal_delivered.  Expand it inline in signal_delivered and remove it.
Just to make it easier to understand what is going on.

Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lkml.kernel.org/r/20220309162454.123006-5-ebiederm@xmission.com
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
This commit is contained in:
Eric W. Biederman 2022-01-27 12:04:27 -06:00
parent 0cfcb2b9ef
commit c145137dc9
3 changed files with 2 additions and 19 deletions

View File

@ -219,7 +219,6 @@ config TRACE_IRQFLAGS_SUPPORT
# CORE_DUMP_USE_REGSET #define'd in linux/elf.h # CORE_DUMP_USE_REGSET #define'd in linux/elf.h
# TIF_SYSCALL_TRACE calls ptrace_report_syscall_{entry,exit} # TIF_SYSCALL_TRACE calls ptrace_report_syscall_{entry,exit}
# TIF_NOTIFY_RESUME calls tracehook_notify_resume() # TIF_NOTIFY_RESUME calls tracehook_notify_resume()
# signal delivery calls tracehook_signal_handler()
# #
config HAVE_ARCH_TRACEHOOK config HAVE_ARCH_TRACEHOOK
bool bool

View File

@ -52,23 +52,6 @@
struct linux_binprm; struct linux_binprm;
/**
* tracehook_signal_handler - signal handler setup is complete
* @stepping: nonzero if debugger single-step or block-step in use
*
* Called by the arch code after a signal handler has been set up.
* Register and stack state reflects the user handler about to run.
* Signal mask changes have already been made.
*
* Called without locks, shortly before returning to user mode
* (or handling more signals).
*/
static inline void tracehook_signal_handler(int stepping)
{
if (stepping)
ptrace_notify(SIGTRAP);
}
/** /**
* set_notify_resume - cause tracehook_notify_resume() to be called * set_notify_resume - cause tracehook_notify_resume() to be called
* @task: task that will call tracehook_notify_resume() * @task: task that will call tracehook_notify_resume()

View File

@ -2898,7 +2898,8 @@ static void signal_delivered(struct ksignal *ksig, int stepping)
set_current_blocked(&blocked); set_current_blocked(&blocked);
if (current->sas_ss_flags & SS_AUTODISARM) if (current->sas_ss_flags & SS_AUTODISARM)
sas_ss_reset(current); sas_ss_reset(current);
tracehook_signal_handler(stepping); if (stepping)
ptrace_notify(SIGTRAP);
} }
void signal_setup_done(int failed, struct ksignal *ksig, int stepping) void signal_setup_done(int failed, struct ksignal *ksig, int stepping)