ptrace: Move ptrace_report_syscall into ptrace.h
authorEric W. Biederman <ebiederm@xmission.com>
Thu, 27 Jan 2022 17:17:32 +0000 (11:17 -0600)
committerEric W. Biederman <ebiederm@xmission.com>
Thu, 10 Mar 2022 19:31:01 +0000 (13:31 -0600)
Move ptrace_report_syscall from tracehook.h into ptrace.h where it
belongs.

Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lkml.kernel.org/r/20220309162454.123006-1-ebiederm@xmission.com
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
include/linux/ptrace.h
include/linux/tracehook.h

index 8aee294..91b1074 100644 (file)
@@ -413,4 +413,31 @@ static inline void user_single_step_report(struct pt_regs *regs)
 extern int task_current_syscall(struct task_struct *target, struct syscall_info *info);
 
 extern void sigaction_compat_abi(struct k_sigaction *act, struct k_sigaction *oact);
+
+/*
+ * ptrace report for syscall entry and exit looks identical.
+ */
+static inline int ptrace_report_syscall(unsigned long message)
+{
+       int ptrace = current->ptrace;
+
+       if (!(ptrace & PT_PTRACED))
+               return 0;
+
+       current->ptrace_message = message;
+       ptrace_notify(SIGTRAP | ((ptrace & PT_TRACESYSGOOD) ? 0x80 : 0));
+
+       /*
+        * this isn't the same as continuing with a signal, but it will do
+        * for normal use.  strace only continues with a signal if the
+        * stopping signal is not SIGTRAP.  -brl
+        */
+       if (current->exit_code) {
+               send_sig(current->exit_code, current, 1);
+               current->exit_code = 0;
+       }
+
+       current->ptrace_message = 0;
+       return fatal_signal_pending(current);
+}
 #endif
index 88c007a..998bc38 100644 (file)
 #include <linux/blk-cgroup.h>
 struct linux_binprm;
 
-/*
- * ptrace report for syscall entry and exit looks identical.
- */
-static inline int ptrace_report_syscall(unsigned long message)
-{
-       int ptrace = current->ptrace;
-
-       if (!(ptrace & PT_PTRACED))
-               return 0;
-
-       current->ptrace_message = message;
-       ptrace_notify(SIGTRAP | ((ptrace & PT_TRACESYSGOOD) ? 0x80 : 0));
-
-       /*
-        * this isn't the same as continuing with a signal, but it will do
-        * for normal use.  strace only continues with a signal if the
-        * stopping signal is not SIGTRAP.  -brl
-        */
-       if (current->exit_code) {
-               send_sig(current->exit_code, current, 1);
-               current->exit_code = 0;
-       }
-
-       current->ptrace_message = 0;
-       return fatal_signal_pending(current);
-}
 
 /**
  * tracehook_report_syscall_entry - task is about to attempt a system call