diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/trace/trace_events.c | 12 | ||||
| -rw-r--r-- | kernel/trace/trace_export.c | 2 | ||||
| -rw-r--r-- | kernel/trace/trace_kprobe.c | 6 | ||||
| -rw-r--r-- | kernel/trace/trace_syscalls.c | 2 |
4 files changed, 12 insertions, 10 deletions
diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c index acc0f55742c3..8e94255a45e7 100644 --- a/kernel/trace/trace_events.c +++ b/kernel/trace/trace_events.c | |||
| @@ -1008,8 +1008,8 @@ static int __trace_add_event_call(struct ftrace_event_call *call) | |||
| 1008 | if (!call->name) | 1008 | if (!call->name) |
| 1009 | return -EINVAL; | 1009 | return -EINVAL; |
| 1010 | 1010 | ||
| 1011 | if (call->raw_init) { | 1011 | if (call->class->raw_init) { |
| 1012 | ret = call->raw_init(call); | 1012 | ret = call->class->raw_init(call); |
| 1013 | if (ret < 0) { | 1013 | if (ret < 0) { |
| 1014 | if (ret != -ENOSYS) | 1014 | if (ret != -ENOSYS) |
| 1015 | pr_warning("Could not initialize trace " | 1015 | pr_warning("Could not initialize trace " |
| @@ -1170,8 +1170,8 @@ static void trace_module_add_events(struct module *mod) | |||
| 1170 | /* The linker may leave blanks */ | 1170 | /* The linker may leave blanks */ |
| 1171 | if (!call->name) | 1171 | if (!call->name) |
| 1172 | continue; | 1172 | continue; |
| 1173 | if (call->raw_init) { | 1173 | if (call->class->raw_init) { |
| 1174 | ret = call->raw_init(call); | 1174 | ret = call->class->raw_init(call); |
| 1175 | if (ret < 0) { | 1175 | if (ret < 0) { |
| 1176 | if (ret != -ENOSYS) | 1176 | if (ret != -ENOSYS) |
| 1177 | pr_warning("Could not initialize trace " | 1177 | pr_warning("Could not initialize trace " |
| @@ -1324,8 +1324,8 @@ static __init int event_trace_init(void) | |||
| 1324 | /* The linker may leave blanks */ | 1324 | /* The linker may leave blanks */ |
| 1325 | if (!call->name) | 1325 | if (!call->name) |
| 1326 | continue; | 1326 | continue; |
| 1327 | if (call->raw_init) { | 1327 | if (call->class->raw_init) { |
| 1328 | ret = call->raw_init(call); | 1328 | ret = call->class->raw_init(call); |
| 1329 | if (ret < 0) { | 1329 | if (ret < 0) { |
| 1330 | if (ret != -ENOSYS) | 1330 | if (ret != -ENOSYS) |
| 1331 | pr_warning("Could not initialize trace " | 1331 | pr_warning("Could not initialize trace " |
diff --git a/kernel/trace/trace_export.c b/kernel/trace/trace_export.c index e700a0c1803f..e878d06c0ac0 100644 --- a/kernel/trace/trace_export.c +++ b/kernel/trace/trace_export.c | |||
| @@ -158,6 +158,7 @@ static int ftrace_raw_init_event(struct ftrace_event_call *call) | |||
| 158 | struct ftrace_event_class event_class_ftrace_##call = { \ | 158 | struct ftrace_event_class event_class_ftrace_##call = { \ |
| 159 | .system = __stringify(TRACE_SYSTEM), \ | 159 | .system = __stringify(TRACE_SYSTEM), \ |
| 160 | .define_fields = ftrace_define_fields_##call, \ | 160 | .define_fields = ftrace_define_fields_##call, \ |
| 161 | .raw_init = ftrace_raw_init_event, \ | ||
| 161 | }; \ | 162 | }; \ |
| 162 | \ | 163 | \ |
| 163 | struct ftrace_event_call __used \ | 164 | struct ftrace_event_call __used \ |
| @@ -166,7 +167,6 @@ __attribute__((section("_ftrace_events"))) event_##call = { \ | |||
| 166 | .name = #call, \ | 167 | .name = #call, \ |
| 167 | .id = type, \ | 168 | .id = type, \ |
| 168 | .class = &event_class_ftrace_##call, \ | 169 | .class = &event_class_ftrace_##call, \ |
| 169 | .raw_init = ftrace_raw_init_event, \ | ||
| 170 | .print_fmt = print, \ | 170 | .print_fmt = print, \ |
| 171 | }; \ | 171 | }; \ |
| 172 | 172 | ||
diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c index b14bf745356f..428f4a52de69 100644 --- a/kernel/trace/trace_kprobe.c +++ b/kernel/trace/trace_kprobe.c | |||
| @@ -1359,13 +1359,13 @@ static int register_probe_event(struct trace_probe *tp) | |||
| 1359 | /* Initialize ftrace_event_call */ | 1359 | /* Initialize ftrace_event_call */ |
| 1360 | if (probe_is_return(tp)) { | 1360 | if (probe_is_return(tp)) { |
| 1361 | tp->event.trace = print_kretprobe_event; | 1361 | tp->event.trace = print_kretprobe_event; |
| 1362 | call->raw_init = probe_event_raw_init; | ||
| 1363 | INIT_LIST_HEAD(&call->class->fields); | 1362 | INIT_LIST_HEAD(&call->class->fields); |
| 1363 | call->class->raw_init = probe_event_raw_init; | ||
| 1364 | call->class->define_fields = kretprobe_event_define_fields; | 1364 | call->class->define_fields = kretprobe_event_define_fields; |
| 1365 | } else { | 1365 | } else { |
| 1366 | tp->event.trace = print_kprobe_event; | ||
| 1367 | call->raw_init = probe_event_raw_init; | ||
| 1368 | INIT_LIST_HEAD(&call->class->fields); | 1366 | INIT_LIST_HEAD(&call->class->fields); |
| 1367 | tp->event.trace = print_kprobe_event; | ||
| 1368 | call->class->raw_init = probe_event_raw_init; | ||
| 1369 | call->class->define_fields = kprobe_event_define_fields; | 1369 | call->class->define_fields = kprobe_event_define_fields; |
| 1370 | } | 1370 | } |
| 1371 | if (set_print_fmt(tp) < 0) | 1371 | if (set_print_fmt(tp) < 0) |
diff --git a/kernel/trace/trace_syscalls.c b/kernel/trace/trace_syscalls.c index cceccf0d2e91..1c1b9bf3ccc6 100644 --- a/kernel/trace/trace_syscalls.c +++ b/kernel/trace/trace_syscalls.c | |||
| @@ -44,6 +44,7 @@ struct ftrace_event_class event_class_syscall_enter = { | |||
| 44 | .reg = syscall_enter_register, | 44 | .reg = syscall_enter_register, |
| 45 | .define_fields = syscall_enter_define_fields, | 45 | .define_fields = syscall_enter_define_fields, |
| 46 | .get_fields = syscall_get_enter_fields, | 46 | .get_fields = syscall_get_enter_fields, |
| 47 | .raw_init = init_syscall_trace, | ||
| 47 | }; | 48 | }; |
| 48 | 49 | ||
| 49 | struct ftrace_event_class event_class_syscall_exit = { | 50 | struct ftrace_event_class event_class_syscall_exit = { |
| @@ -51,6 +52,7 @@ struct ftrace_event_class event_class_syscall_exit = { | |||
| 51 | .reg = syscall_exit_register, | 52 | .reg = syscall_exit_register, |
| 52 | .define_fields = syscall_exit_define_fields, | 53 | .define_fields = syscall_exit_define_fields, |
| 53 | .get_fields = syscall_get_exit_fields, | 54 | .get_fields = syscall_get_exit_fields, |
| 55 | .raw_init = init_syscall_trace, | ||
| 54 | }; | 56 | }; |
| 55 | 57 | ||
| 56 | extern unsigned long __start_syscalls_metadata[]; | 58 | extern unsigned long __start_syscalls_metadata[]; |
