mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 18:13:41 +02:00
selftests/bpf: Refactor trace helper func load_kallsyms_local()
Refactor trace helper function load_kallsyms_local() such that it invokes a common function with a compare function as input. The common function will be used later for other local functions. Signed-off-by: Yonghong Song <yonghong.song@linux.dev> Link: https://lore.kernel.org/r/20240326041508.1199239-1-yonghong.song@linux.dev Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
d132064934
commit
9475dacb75
|
|
@ -61,12 +61,7 @@ void free_kallsyms_local(struct ksyms *ksyms)
|
|||
free(ksyms);
|
||||
}
|
||||
|
||||
static int ksym_cmp(const void *p1, const void *p2)
|
||||
{
|
||||
return ((struct ksym *)p1)->addr - ((struct ksym *)p2)->addr;
|
||||
}
|
||||
|
||||
struct ksyms *load_kallsyms_local(void)
|
||||
static struct ksyms *load_kallsyms_local_common(ksym_cmp_t cmp_cb)
|
||||
{
|
||||
FILE *f;
|
||||
char func[256], buf[256];
|
||||
|
|
@ -100,7 +95,7 @@ struct ksyms *load_kallsyms_local(void)
|
|||
goto error;
|
||||
}
|
||||
fclose(f);
|
||||
qsort(ksyms->syms, ksyms->sym_cnt, sizeof(struct ksym), ksym_cmp);
|
||||
qsort(ksyms->syms, ksyms->sym_cnt, sizeof(struct ksym), cmp_cb);
|
||||
return ksyms;
|
||||
|
||||
error:
|
||||
|
|
@ -109,6 +104,16 @@ struct ksyms *load_kallsyms_local(void)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
static int ksym_cmp(const void *p1, const void *p2)
|
||||
{
|
||||
return ((struct ksym *)p1)->addr - ((struct ksym *)p2)->addr;
|
||||
}
|
||||
|
||||
struct ksyms *load_kallsyms_local(void)
|
||||
{
|
||||
return load_kallsyms_local_common(ksym_cmp);
|
||||
}
|
||||
|
||||
int load_kallsyms(void)
|
||||
{
|
||||
pthread_mutex_lock(&ksyms_mutex);
|
||||
|
|
|
|||
|
|
@ -13,6 +13,8 @@ struct ksym {
|
|||
};
|
||||
struct ksyms;
|
||||
|
||||
typedef int (*ksym_cmp_t)(const void *p1, const void *p2);
|
||||
|
||||
int load_kallsyms(void);
|
||||
struct ksym *ksym_search(long key);
|
||||
long ksym_get_addr(const char *name);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user