syscall: extract pipe and pipe2 output args
[lttng-modules.git] / instrumentation / syscalls / headers / syscalls_pointers_override.h
index 6dba8d5af53849693a225b043ca0456259293f79..b375395dde5ec1f1078b74e7fc4b334453245342 100644 (file)
@@ -1,9 +1,9 @@
-#define OVERRIDE_32_sys_execve
-#define OVERRIDE_64_sys_execve
+#define OVERRIDE_32_execve
+#define OVERRIDE_64_execve
 
 #ifndef CREATE_SYSCALL_TABLE
 
-SC_TRACE_EVENT(sys_execve,
+SC_TRACE_EVENT(execve,
        TP_PROTO(sc_exit(long ret,) const char *filename, char *const *argv, char *const *envp),
        TP_ARGS(sc_exit(ret,) filename, argv, envp),
        TP_STRUCT__entry(sc_exit(__field(long, ret))
@@ -17,7 +17,7 @@ SC_TRACE_EVENT(sys_execve,
        TP_printk()
 )
 
-SC_TRACE_EVENT(sys_clone,
+SC_TRACE_EVENT(clone,
        TP_PROTO(sc_exit(long ret,) unsigned long clone_flags, unsigned long newsp,
                void __user *parent_tid,
                void __user *child_tid),
@@ -38,9 +38,9 @@ SC_TRACE_EVENT(sys_clone,
 )
 
 /* present in 32, missing in 64 due to old kernel headers */
-#define OVERRIDE_32_sys_getcpu
-#define OVERRIDE_64_sys_getcpu
-SC_TRACE_EVENT(sys_getcpu,
+#define OVERRIDE_32_getcpu
+#define OVERRIDE_64_getcpu
+SC_TRACE_EVENT(getcpu,
        TP_PROTO(sc_exit(long ret,) unsigned __user *cpup, unsigned __user *nodep, void *tcache),
        TP_ARGS(sc_exit(ret,) cpup, nodep, tcache),
        TP_STRUCT__entry(
@@ -56,4 +56,34 @@ SC_TRACE_EVENT(sys_getcpu,
        TP_printk()
 )
 
+#define OVERRIDE_32_pipe
+#define OVERRIDE_64_pipe
+SC_TRACE_EVENT(pipe,
+       TP_PROTO(sc_exit(long ret,) int * fildes),
+       TP_ARGS(sc_exit(ret,) fildes),
+       TP_STRUCT__entry(sc_exit(__field(long, ret))
+               sc_out(__array(int, fildes, 2))
+       ),
+       TP_fast_assign(sc_exit(tp_assign(ret, ret))
+               sc_out(tp_memcpy_from_user(fildes, fildes, 2))
+       ),
+       TP_printk()
+)
+
+#define OVERRIDE_32_pipe2
+#define OVERRIDE_64_pipe2
+SC_TRACE_EVENT(pipe2,
+       TP_PROTO(sc_exit(long ret,) int * fildes, int flags),
+       TP_ARGS(sc_exit(ret,) fildes, flags),
+       TP_STRUCT__entry(sc_exit(__field(long, ret))
+               sc_out(__array(int, fildes, 2))
+               sc_in(__field(int, flags))
+       ),
+       TP_fast_assign(sc_exit(tp_assign(ret, ret))
+               sc_out(tp_memcpy_from_user(fildes, fildes, 2))
+               sc_in(tp_assign(flags, flags))
+       ),
+       TP_printk()
+)
+
 #endif /* CREATE_SYSCALL_TABLE */
This page took 0.0241 seconds and 4 git commands to generate.