root/include/trace/events/syscalls.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #undef TRACE_SYSTEM
   3 #define TRACE_SYSTEM raw_syscalls
   4 #undef TRACE_INCLUDE_FILE
   5 #define TRACE_INCLUDE_FILE syscalls
   6 
   7 #if !defined(_TRACE_EVENTS_SYSCALLS_H) || defined(TRACE_HEADER_MULTI_READ)
   8 #define _TRACE_EVENTS_SYSCALLS_H
   9 
  10 #include <linux/tracepoint.h>
  11 
  12 #include <asm/ptrace.h>
  13 #include <asm/syscall.h>
  14 
  15 
  16 #ifdef CONFIG_HAVE_SYSCALL_TRACEPOINTS
  17 
  18 TRACE_EVENT_FN(sys_enter,
  19 
  20         TP_PROTO(struct pt_regs *regs, long id),
  21 
  22         TP_ARGS(regs, id),
  23 
  24         TP_STRUCT__entry(
  25                 __field(        long,           id              )
  26                 __array(        unsigned long,  args,   6       )
  27         ),
  28 
  29         TP_fast_assign(
  30                 __entry->id     = id;
  31                 syscall_get_arguments(current, regs, __entry->args);
  32         ),
  33 
  34         TP_printk("NR %ld (%lx, %lx, %lx, %lx, %lx, %lx)",
  35                   __entry->id,
  36                   __entry->args[0], __entry->args[1], __entry->args[2],
  37                   __entry->args[3], __entry->args[4], __entry->args[5]),
  38 
  39         syscall_regfunc, syscall_unregfunc
  40 );
  41 
  42 TRACE_EVENT_FLAGS(sys_enter, TRACE_EVENT_FL_CAP_ANY)
  43 
  44 TRACE_EVENT_FN(sys_exit,
  45 
  46         TP_PROTO(struct pt_regs *regs, long ret),
  47 
  48         TP_ARGS(regs, ret),
  49 
  50         TP_STRUCT__entry(
  51                 __field(        long,   id      )
  52                 __field(        long,   ret     )
  53         ),
  54 
  55         TP_fast_assign(
  56                 __entry->id     = syscall_get_nr(current, regs);
  57                 __entry->ret    = ret;
  58         ),
  59 
  60         TP_printk("NR %ld = %ld",
  61                   __entry->id, __entry->ret),
  62 
  63         syscall_regfunc, syscall_unregfunc
  64 );
  65 
  66 TRACE_EVENT_FLAGS(sys_exit, TRACE_EVENT_FL_CAP_ANY)
  67 
  68 #endif /* CONFIG_HAVE_SYSCALL_TRACEPOINTS */
  69 
  70 #endif /* _TRACE_EVENTS_SYSCALLS_H */
  71 
  72 /* This part must be outside protection */
  73 #include <trace/define_trace.h>
  74 

/* [<][>][^][v][top][bottom][index][help] */