diff options
author | Jiri Olsa <jolsa@kernel.org> | 2022-05-10 15:26:13 +0300 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2022-05-11 00:42:06 +0300 |
commit | bed0d9a50dacee6fcf785c555cfb0d2573355afc (patch) | |
tree | b9cb3e2df9448906c6445c812033f6b3e4e92f3d /kernel/kallsyms.c | |
parent | d721def7392a7348ffb9f3583b264239cbd3702c (diff) | |
download | linux-bed0d9a50dacee6fcf785c555cfb0d2573355afc.tar.xz |
ftrace: Add ftrace_lookup_symbols function
Adding ftrace_lookup_symbols function that resolves array of symbols
with single pass over kallsyms.
The user provides array of string pointers with count and pointer to
allocated array for resolved values.
int ftrace_lookup_symbols(const char **sorted_syms, size_t cnt,
unsigned long *addrs)
It iterates all kallsyms symbols and tries to loop up each in provided
symbols array with bsearch. The symbols array needs to be sorted by
name for this reason.
We also check each symbol to pass ftrace_location, because this API
will be used for fprobe symbols resolving.
Suggested-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Link: https://lore.kernel.org/r/20220510122616.2652285-3-jolsa@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'kernel/kallsyms.c')
-rw-r--r-- | kernel/kallsyms.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c index fdfd308bebc4..fbdf8d3279ac 100644 --- a/kernel/kallsyms.c +++ b/kernel/kallsyms.c @@ -29,6 +29,7 @@ #include <linux/compiler.h> #include <linux/module.h> #include <linux/kernel.h> +#include <linux/bsearch.h> /* * These will be re-linked against their real values |