On Thu, Sep 10, 2020 at 10:13 AM Ilya Leoshkevich <iii@xxxxxxxxxxxxx> wrote: > > On non-SMP kernels __per_cpu_start is not 0, so look it up in kallsyms. > > Signed-off-by: Ilya Leoshkevich <iii@xxxxxxxxxxxxx> > --- Acked-by: Andrii Nakryiko <andriin@xxxxxx> > tools/testing/selftests/bpf/prog_tests/ksyms.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/selftests/bpf/prog_tests/ksyms.c b/tools/testing/selftests/bpf/prog_tests/ksyms.c > index e3d6777226a8..b771804b2342 100644 > --- a/tools/testing/selftests/bpf/prog_tests/ksyms.c > +++ b/tools/testing/selftests/bpf/prog_tests/ksyms.c > @@ -32,6 +32,7 @@ static __u64 kallsyms_find(const char *sym) > > void test_ksyms(void) > { > + __u64 per_cpu_start_addr = kallsyms_find("__per_cpu_start"); > __u64 link_fops_addr = kallsyms_find("bpf_link_fops"); > const char *btf_path = "/sys/kernel/btf/vmlinux"; > struct test_ksyms *skel; > @@ -63,8 +64,9 @@ void test_ksyms(void) > "got %llu, exp %llu\n", data->out__bpf_link_fops1, (__u64)0); > CHECK(data->out__btf_size != btf_size, "btf_size", > "got %llu, exp %llu\n", data->out__btf_size, btf_size); > - CHECK(data->out__per_cpu_start != 0, "__per_cpu_start", > - "got %llu, exp %llu\n", data->out__per_cpu_start, (__u64)0); > + CHECK(data->out__per_cpu_start != per_cpu_start_addr, "__per_cpu_start", > + "got %llu, exp %llu\n", data->out__per_cpu_start, > + per_cpu_start_addr); > > cleanup: > test_ksyms__destroy(skel); > -- > 2.25.4 >