X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=instrumentation%2Fsyscalls%2Fheaders%2Fsyscalls_unknown.h;h=1718f5c01ed76ccba94266484484913dfa1eedbc;hb=b7cdc18250880cc44edeef4a4b42c8ac7a135a6d;hp=4582d03d731f15a0de2cab611d541fd4f50e5da8;hpb=a93244f8421385c560a70d0308a69e7c9289916e;p=lttng-modules.git diff --git a/instrumentation/syscalls/headers/syscalls_unknown.h b/instrumentation/syscalls/headers/syscalls_unknown.h index 4582d03d..1718f5c0 100644 --- a/instrumentation/syscalls/headers/syscalls_unknown.h +++ b/instrumentation/syscalls/headers/syscalls_unknown.h @@ -1,55 +1,55 @@ +/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only) */ + #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