X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=instrumentation%2Fsyscalls%2Fheaders%2Fsyscalls_unknown.h;h=30a992a3880d3766b46996bc0b5e3a8627865e0e;hb=6314c2d3a4ad617f5f122083a7fda007d4319b92;hp=7050387fa7657347aeaa0b58d6df5cad49bb4316;hpb=b76dc1a0b1f4eb9f7ae754d2b44a431d9a24b1a5;p=lttng-modules.git diff --git a/instrumentation/syscalls/headers/syscalls_unknown.h b/instrumentation/syscalls/headers/syscalls_unknown.h index 7050387f..30a992a3 100644 --- a/instrumentation/syscalls/headers/syscalls_unknown.h +++ b/instrumentation/syscalls/headers/syscalls_unknown.h @@ -1,58 +1,55 @@ -#undef TRACE_SYSTEM -#define TRACE_SYSTEM syscalls_unknown +/* SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1) */ #if !defined(_TRACE_SYSCALLS_UNKNOWN_H) || defined(TRACE_HEADER_MULTI_READ) #define _TRACE_SYSCALLS_UNKNOWN_H -#include +#include #include #define UNKNOWN_SYSCALL_NRARGS 6 -TRACE_EVENT(sys_unknown, - TP_PROTO(unsigned int id, unsigned long *args), +#undef TP_PROBE_CB +#define TP_PROBE_CB(_template) &syscall_entry_probe + +LTTNG_TRACEPOINT_EVENT(syscall_entry_unknown, + TP_PROTO(int id, unsigned long *args), TP_ARGS(id, args), - TP_STRUCT__entry( - __field(unsigned int, id) - __array(unsigned long, args, UNKNOWN_SYSCALL_NRARGS) - ), - TP_fast_assign( - tp_assign(id, id) - tp_memcpy(args, args, UNKNOWN_SYSCALL_NRARGS * sizeof(*args)) - ), - TP_printk() + TP_FIELDS( + ctf_integer(int, id, id) + ctf_array(unsigned long, args, args, UNKNOWN_SYSCALL_NRARGS) + ) ) -TRACE_EVENT(compat_sys_unknown, - TP_PROTO(unsigned int id, unsigned long *args), +LTTNG_TRACEPOINT_EVENT(compat_syscall_entry_unknown, + TP_PROTO(int id, unsigned long *args), TP_ARGS(id, args), - TP_STRUCT__entry( - __field(unsigned int, id) - __array(unsigned long, args, UNKNOWN_SYSCALL_NRARGS) - ), - TP_fast_assign( - tp_assign(id, id) - tp_memcpy(args, args, UNKNOWN_SYSCALL_NRARGS * sizeof(*args)) - ), - 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), - TP_STRUCT__entry( - __field(long, ret) - ), - TP_fast_assign( - tp_assign(ret, ret) - ), - TP_printk() + TP_FIELDS( + ctf_integer(int, id, id) + ctf_array(unsigned long, args, args, UNKNOWN_SYSCALL_NRARGS) + ) ) +#undef TP_PROBE_CB +#define TP_PROBE_CB(_template) &syscall_exit_probe + +LTTNG_TRACEPOINT_EVENT(syscall_exit_unknown, + TP_PROTO(int id, long ret, unsigned long *args), + TP_ARGS(id, ret, args), + TP_FIELDS( + ctf_integer(int, id, id) + ctf_integer(long, ret, ret) + ctf_array(unsigned long, args, args, UNKNOWN_SYSCALL_NRARGS) + ) +) +LTTNG_TRACEPOINT_EVENT(compat_syscall_exit_unknown, + TP_PROTO(int id, long ret, unsigned long *args), + TP_ARGS(id, ret, args), + TP_FIELDS( + ctf_integer(int, id, id) + ctf_integer(long, ret, ret) + ctf_array(unsigned long, args, args, UNKNOWN_SYSCALL_NRARGS) + ) +) #endif /* _TRACE_SYSCALLS_UNKNOWN_H */ /* This part must be outside protection */ -#include "../../../probes/define_trace.h" +#include