summaryrefslogtreecommitdiff
path: root/tools/testing/selftests/bpf/trace_helpers.h
diff options
context:
space:
mode:
authorYonghong Song <yonghong.song@linux.dev>2024-03-26 07:15:13 +0300
committerAlexei Starovoitov <ast@kernel.org>2024-03-29 04:31:41 +0300
commitd1f02581059e42d8daf944aae2a296254cc7a5d5 (patch)
treef922a82d4fd55aca85b68c3b69c53468a05221a3 /tools/testing/selftests/bpf/trace_helpers.h
parent9475dacb75e0b5efae086dc904f4d27c31f15157 (diff)
downloadlinux-d1f02581059e42d8daf944aae2a296254cc7a5d5.tar.xz
selftests/bpf: Add {load,search}_kallsyms_custom_local()
These two functions allow selftests to do loading/searching kallsyms based on their specific compare functions. Signed-off-by: Yonghong Song <yonghong.song@linux.dev> Link: https://lore.kernel.org/r/20240326041513.1199440-1-yonghong.song@linux.dev Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/testing/selftests/bpf/trace_helpers.h')
-rw-r--r--tools/testing/selftests/bpf/trace_helpers.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/trace_helpers.h b/tools/testing/selftests/bpf/trace_helpers.h
index 9da0d0484eed..d1ed71789049 100644
--- a/tools/testing/selftests/bpf/trace_helpers.h
+++ b/tools/testing/selftests/bpf/trace_helpers.h
@@ -14,6 +14,7 @@ struct ksym {
struct ksyms;
typedef int (*ksym_cmp_t)(const void *p1, const void *p2);
+typedef int (*ksym_search_cmp_t)(const void *p1, const struct ksym *p2);
int load_kallsyms(void);
struct ksym *ksym_search(long key);
@@ -24,6 +25,10 @@ struct ksym *ksym_search_local(struct ksyms *ksyms, long key);
long ksym_get_addr_local(struct ksyms *ksyms, const char *name);
void free_kallsyms_local(struct ksyms *ksyms);
+struct ksyms *load_kallsyms_custom_local(ksym_cmp_t cmp_cb);
+struct ksym *search_kallsyms_custom_local(struct ksyms *ksyms, const void *p1,
+ ksym_search_cmp_t cmp_cb);
+
/* open kallsyms and find addresses on the fly, faster than load + search. */
int kallsyms_find(const char *sym, unsigned long long *addr);