X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=instrumentation%2Fsyscalls%2Fheaders%2Fsyscalls_unknown.h;h=a2723c5b5944fce59e59f575374620f9ddda4020;hb=5b7ac358ff8a054b10f1e6c4ed6ea45820d9ced2;hp=4582d03d731f15a0de2cab611d541fd4f50e5da8;hpb=80f87dd2321bb99f5b8cdab7ea6ff33f6ba99b9e;p=lttng-modules.git diff --git a/instrumentation/syscalls/headers/syscalls_unknown.h b/instrumentation/syscalls/headers/syscalls_unknown.h index 4582d03d..a2723c5b 100644 --- a/instrumentation/syscalls/headers/syscalls_unknown.h +++ b/instrumentation/syscalls/headers/syscalls_unknown.h @@ -6,7 +6,10 @@ #define UNKNOWN_SYSCALL_NRARGS 6 -TRACE_EVENT(sys_unknown, +#undef TP_PROBE_CB +#define TP_PROBE_CB(_template) &syscall_entry_probe + +TRACE_EVENT(syscall_enter_unknown, TP_PROTO(unsigned int id, unsigned long *args), TP_ARGS(id, args), TP_STRUCT__entry( @@ -19,7 +22,7 @@ TRACE_EVENT(sys_unknown, ), TP_printk() ) -TRACE_EVENT(compat_sys_unknown, +TRACE_EVENT(compat_syscall_enter_unknown, TP_PROTO(unsigned int id, unsigned long *args), TP_ARGS(id, args), TP_STRUCT__entry( @@ -32,23 +35,40 @@ TRACE_EVENT(compat_sys_unknown, ), TP_printk() ) -/* - * This is going to hook on sys_exit in the kernel. - * We change the name so we don't clash with the sys_exit syscall entry - * event. - */ -TRACE_EVENT(exit_syscall, - TP_PROTO(struct pt_regs *regs, long ret), - TP_ARGS(regs, ret), + +#undef TP_PROBE_CB +#define TP_PROBE_CB(_template) &syscall_exit_probe + +TRACE_EVENT(syscall_exit_unknown, + TP_PROTO(unsigned int id, long ret, unsigned long *args), + TP_ARGS(id, ret, args), TP_STRUCT__entry( + __field(unsigned int, id) __field(long, ret) + __array(unsigned long, args, UNKNOWN_SYSCALL_NRARGS) ), TP_fast_assign( + tp_assign(id, id) tp_assign(ret, ret) + tp_memcpy(args, args, UNKNOWN_SYSCALL_NRARGS * sizeof(*args)) + ), + TP_printk() +) +TRACE_EVENT(compat_syscall_exit_unknown, + TP_PROTO(unsigned int id, long ret, unsigned long *args), + TP_ARGS(id, ret, args), + TP_STRUCT__entry( + __field(unsigned int, id) + __field(long, ret) + __array(unsigned long, args, UNKNOWN_SYSCALL_NRARGS) + ), + TP_fast_assign( + tp_assign(id, id) + tp_assign(ret, ret) + tp_memcpy(args, args, UNKNOWN_SYSCALL_NRARGS * sizeof(*args)) ), TP_printk() ) - #endif /* _TRACE_SYSCALLS_UNKNOWN_H */ /* This part must be outside protection */