LCOV - code coverage report
Current view: top level - include/trace/events - syscalls.h (source / functions) Hit Total Coverage
Test: landlock.info Lines: 2 4 50.0 %
Date: 2021-04-22 12:43:58 Functions: 2 12 16.7 %

          Line data    Source code
       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           0 : 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           1 : TRACE_EVENT_FLAGS(sys_enter, TRACE_EVENT_FL_CAP_ANY)
      43             : 
      44           0 : 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           1 : 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             : 

Generated by: LCOV version 1.14