diff options
author | Yonghong Song <yhs@fb.com> | 2018-05-24 20:21:11 +0200 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2018-05-25 03:18:20 +0200 |
commit | 73bc4d9fc045fb709483a733683f816e64a99431 (patch) | |
tree | d7d70c22fb32b6403b47dd24e42958259e46e076 /tools/testing/selftests/bpf/trace_helpers.c | |
parent | tools/bpf: sync kernel header bpf.h and add bpf_task_fd_query in libbpf (diff) | |
download | linux-73bc4d9fc045fb709483a733683f816e64a99431.tar.xz linux-73bc4d9fc045fb709483a733683f816e64a99431.zip |
tools/bpf: add ksym_get_addr() in trace_helpers
Given a kernel function name, ksym_get_addr() will return the kernel
address for this function, or 0 if it cannot find this function name
in /proc/kallsyms. This function will be used later when a kernel
address is used to initiate a kprobe perf event.
Acked-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/testing/selftests/bpf/trace_helpers.c')
-rw-r--r-- | tools/testing/selftests/bpf/trace_helpers.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/trace_helpers.c b/tools/testing/selftests/bpf/trace_helpers.c index 8fb4fe8686e4..3868dcb63420 100644 --- a/tools/testing/selftests/bpf/trace_helpers.c +++ b/tools/testing/selftests/bpf/trace_helpers.c @@ -72,6 +72,18 @@ struct ksym *ksym_search(long key) return &syms[0]; } +long ksym_get_addr(const char *name) +{ + int i; + + for (i = 0; i < sym_cnt; i++) { + if (strcmp(syms[i].name, name) == 0) + return syms[i].addr; + } + + return 0; +} + static int page_size; static int page_cnt = 8; static struct perf_event_mmap_page *header; |