Extract syscall exit ret value on x86 32/64
[lttng-modules.git] / instrumentation / syscalls / headers / syscalls_pointers_override.h
CommitLineData
e42e81fd
MD
1#define OVERRIDE_32_sys_execve
2#define OVERRIDE_64_sys_execve
3
4#ifndef CREATE_SYSCALL_TABLE
5
6SC_TRACE_EVENT(sys_execve,
e17f92ba
MD
7 TP_PROTO(sc_exit(long ret,) const char *filename, char *const *argv, char *const *envp),
8 TP_ARGS(sc_exit(ret,) filename, argv, envp),
9 TP_STRUCT__entry(sc_exit(__field(long, ret))
10 __string_from_user(filename, filename)
e42e81fd
MD
11 __field_hex(char *const *, argv)
12 __field_hex(char *const *, envp)),
e17f92ba
MD
13 TP_fast_assign(sc_exit(tp_assign(ret, ret))
14 tp_copy_string_from_user(filename, filename)
e42e81fd
MD
15 tp_assign(argv, argv)
16 tp_assign(envp, envp)),
17 TP_printk()
18)
19
ba21566b 20SC_TRACE_EVENT(sys_clone,
e17f92ba 21 TP_PROTO(sc_exit(long ret,) unsigned long clone_flags, unsigned long newsp,
ba21566b 22 void __user *parent_tid,
b5aa4b6a 23 void __user *child_tid),
e17f92ba 24 TP_ARGS(sc_exit(ret,) clone_flags, newsp, parent_tid, child_tid),
ba21566b 25 TP_STRUCT__entry(
e17f92ba 26 sc_exit(__field(long, ret))
ba21566b
MD
27 __field_hex(unsigned long, clone_flags)
28 __field_hex(unsigned long, newsp)
29 __field_hex(void *, parent_tid)
30 __field_hex(void *, child_tid)),
31 TP_fast_assign(
e17f92ba 32 sc_exit(tp_assign(ret, ret))
ba21566b
MD
33 tp_assign(clone_flags, clone_flags)
34 tp_assign(newsp, newsp)
35 tp_assign(parent_tid, parent_tid)
36 tp_assign(child_tid, child_tid)),
37 TP_printk()
38)
39
b5aa4b6a
MD
40/* present in 32, missing in 64 due to old kernel headers */
41#define OVERRIDE_32_sys_getcpu
42#define OVERRIDE_64_sys_getcpu
43SC_TRACE_EVENT(sys_getcpu,
e17f92ba
MD
44 TP_PROTO(sc_exit(long ret,) unsigned __user *cpup, unsigned __user *nodep, void *tcache),
45 TP_ARGS(sc_exit(ret,) cpup, nodep, tcache),
b5aa4b6a 46 TP_STRUCT__entry(
e17f92ba 47 sc_exit(__field(long, ret))
b5aa4b6a
MD
48 __field_hex(unsigned *, cpup)
49 __field_hex(unsigned *, nodep)
50 __field_hex(void *, tcache)),
51 TP_fast_assign(
e17f92ba 52 sc_exit(tp_assign(ret, ret))
b5aa4b6a
MD
53 tp_assign(cpup, cpup)
54 tp_assign(nodep, nodep)
55 tp_assign(tcache, tcache)),
56 TP_printk()
57)
58
e42e81fd 59#endif /* CREATE_SYSCALL_TABLE */
This page took 0.027463 seconds and 4 git commands to generate.