|
@@ -21,9 +21,6 @@ static int syscall_enter_register(struct ftrace_event_call *event,
|
|
|
static int syscall_exit_register(struct ftrace_event_call *event,
|
|
|
enum trace_reg type, void *data);
|
|
|
|
|
|
-static int syscall_enter_define_fields(struct ftrace_event_call *call);
|
|
|
-static int syscall_exit_define_fields(struct ftrace_event_call *call);
|
|
|
-
|
|
|
static struct list_head *
|
|
|
syscall_get_enter_fields(struct ftrace_event_call *call)
|
|
|
{
|
|
@@ -32,30 +29,6 @@ syscall_get_enter_fields(struct ftrace_event_call *call)
|
|
|
return &entry->enter_fields;
|
|
|
}
|
|
|
|
|
|
-struct trace_event_functions enter_syscall_print_funcs = {
|
|
|
- .trace = print_syscall_enter,
|
|
|
-};
|
|
|
-
|
|
|
-struct trace_event_functions exit_syscall_print_funcs = {
|
|
|
- .trace = print_syscall_exit,
|
|
|
-};
|
|
|
-
|
|
|
-struct ftrace_event_class event_class_syscall_enter = {
|
|
|
- .system = "syscalls",
|
|
|
- .reg = syscall_enter_register,
|
|
|
- .define_fields = syscall_enter_define_fields,
|
|
|
- .get_fields = syscall_get_enter_fields,
|
|
|
- .raw_init = init_syscall_trace,
|
|
|
-};
|
|
|
-
|
|
|
-struct ftrace_event_class event_class_syscall_exit = {
|
|
|
- .system = "syscalls",
|
|
|
- .reg = syscall_exit_register,
|
|
|
- .define_fields = syscall_exit_define_fields,
|
|
|
- .fields = LIST_HEAD_INIT(event_class_syscall_exit.fields),
|
|
|
- .raw_init = init_syscall_trace,
|
|
|
-};
|
|
|
-
|
|
|
extern struct syscall_metadata *__start_syscalls_metadata[];
|
|
|
extern struct syscall_metadata *__stop_syscalls_metadata[];
|
|
|
|
|
@@ -432,7 +405,7 @@ void unreg_event_syscall_exit(struct ftrace_event_call *call)
|
|
|
mutex_unlock(&syscall_trace_lock);
|
|
|
}
|
|
|
|
|
|
-int init_syscall_trace(struct ftrace_event_call *call)
|
|
|
+static int init_syscall_trace(struct ftrace_event_call *call)
|
|
|
{
|
|
|
int id;
|
|
|
int num;
|
|
@@ -457,6 +430,30 @@ int init_syscall_trace(struct ftrace_event_call *call)
|
|
|
return id;
|
|
|
}
|
|
|
|
|
|
+struct trace_event_functions enter_syscall_print_funcs = {
|
|
|
+ .trace = print_syscall_enter,
|
|
|
+};
|
|
|
+
|
|
|
+struct trace_event_functions exit_syscall_print_funcs = {
|
|
|
+ .trace = print_syscall_exit,
|
|
|
+};
|
|
|
+
|
|
|
+struct ftrace_event_class event_class_syscall_enter = {
|
|
|
+ .system = "syscalls",
|
|
|
+ .reg = syscall_enter_register,
|
|
|
+ .define_fields = syscall_enter_define_fields,
|
|
|
+ .get_fields = syscall_get_enter_fields,
|
|
|
+ .raw_init = init_syscall_trace,
|
|
|
+};
|
|
|
+
|
|
|
+struct ftrace_event_class event_class_syscall_exit = {
|
|
|
+ .system = "syscalls",
|
|
|
+ .reg = syscall_exit_register,
|
|
|
+ .define_fields = syscall_exit_define_fields,
|
|
|
+ .fields = LIST_HEAD_INIT(event_class_syscall_exit.fields),
|
|
|
+ .raw_init = init_syscall_trace,
|
|
|
+};
|
|
|
+
|
|
|
unsigned long __init __weak arch_syscall_addr(int nr)
|
|
|
{
|
|
|
return (unsigned long)sys_call_table[nr];
|
|
@@ -537,7 +534,7 @@ static void perf_syscall_enter(void *ignore, struct pt_regs *regs, long id)
|
|
|
perf_trace_buf_submit(rec, size, rctx, 0, 1, regs, head, NULL);
|
|
|
}
|
|
|
|
|
|
-int perf_sysenter_enable(struct ftrace_event_call *call)
|
|
|
+static int perf_sysenter_enable(struct ftrace_event_call *call)
|
|
|
{
|
|
|
int ret = 0;
|
|
|
int num;
|
|
@@ -558,7 +555,7 @@ int perf_sysenter_enable(struct ftrace_event_call *call)
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-void perf_sysenter_disable(struct ftrace_event_call *call)
|
|
|
+static void perf_sysenter_disable(struct ftrace_event_call *call)
|
|
|
{
|
|
|
int num;
|
|
|
|
|
@@ -615,7 +612,7 @@ static void perf_syscall_exit(void *ignore, struct pt_regs *regs, long ret)
|
|
|
perf_trace_buf_submit(rec, size, rctx, 0, 1, regs, head, NULL);
|
|
|
}
|
|
|
|
|
|
-int perf_sysexit_enable(struct ftrace_event_call *call)
|
|
|
+static int perf_sysexit_enable(struct ftrace_event_call *call)
|
|
|
{
|
|
|
int ret = 0;
|
|
|
int num;
|
|
@@ -636,7 +633,7 @@ int perf_sysexit_enable(struct ftrace_event_call *call)
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-void perf_sysexit_disable(struct ftrace_event_call *call)
|
|
|
+static void perf_sysexit_disable(struct ftrace_event_call *call)
|
|
|
{
|
|
|
int num;
|
|
|
|