|
@@ -666,22 +666,14 @@ static int add_module_to_probe_trace_events(struct probe_trace_event *tevs,
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
|
|
-/* Post processing the probe events */
|
|
|
|
-static int post_process_probe_trace_events(struct probe_trace_event *tevs,
|
|
|
|
- int ntevs, const char *module,
|
|
|
|
- bool uprobe)
|
|
|
|
|
|
+static int
|
|
|
|
+post_process_kernel_probe_trace_events(struct probe_trace_event *tevs,
|
|
|
|
+ int ntevs)
|
|
{
|
|
{
|
|
struct ref_reloc_sym *reloc_sym;
|
|
struct ref_reloc_sym *reloc_sym;
|
|
char *tmp;
|
|
char *tmp;
|
|
int i, skipped = 0;
|
|
int i, skipped = 0;
|
|
|
|
|
|
- if (uprobe)
|
|
|
|
- return add_exec_to_probe_trace_events(tevs, ntevs, module);
|
|
|
|
-
|
|
|
|
- /* Note that currently ref_reloc_sym based probe is not for drivers */
|
|
|
|
- if (module)
|
|
|
|
- return add_module_to_probe_trace_events(tevs, ntevs, module);
|
|
|
|
-
|
|
|
|
reloc_sym = kernel_get_ref_reloc_sym();
|
|
reloc_sym = kernel_get_ref_reloc_sym();
|
|
if (!reloc_sym) {
|
|
if (!reloc_sym) {
|
|
pr_warning("Relocated base symbol is not found!\n");
|
|
pr_warning("Relocated base symbol is not found!\n");
|
|
@@ -713,6 +705,21 @@ static int post_process_probe_trace_events(struct probe_trace_event *tevs,
|
|
return skipped;
|
|
return skipped;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/* Post processing the probe events */
|
|
|
|
+static int post_process_probe_trace_events(struct probe_trace_event *tevs,
|
|
|
|
+ int ntevs, const char *module,
|
|
|
|
+ bool uprobe)
|
|
|
|
+{
|
|
|
|
+ if (uprobe)
|
|
|
|
+ return add_exec_to_probe_trace_events(tevs, ntevs, module);
|
|
|
|
+
|
|
|
|
+ if (module)
|
|
|
|
+ /* Currently ref_reloc_sym based probe is not for drivers */
|
|
|
|
+ return add_module_to_probe_trace_events(tevs, ntevs, module);
|
|
|
|
+
|
|
|
|
+ return post_process_kernel_probe_trace_events(tevs, ntevs);
|
|
|
|
+}
|
|
|
|
+
|
|
/* Try to find perf_probe_event with debuginfo */
|
|
/* Try to find perf_probe_event with debuginfo */
|
|
static int try_to_find_probe_trace_events(struct perf_probe_event *pev,
|
|
static int try_to_find_probe_trace_events(struct perf_probe_event *pev,
|
|
struct probe_trace_event **tevs)
|
|
struct probe_trace_event **tevs)
|