diff mbox series

[bpf-next] selftests/bpf: Fix test_ksyms on non-SMP kernels

Message ID 20200910171336.3161995-1-iii@linux.ibm.com
State Accepted
Delegated to: BPF Maintainers
Headers show
Series [bpf-next] selftests/bpf: Fix test_ksyms on non-SMP kernels | expand

Commit Message

Ilya Leoshkevich Sept. 10, 2020, 5:13 p.m. UTC
On non-SMP kernels __per_cpu_start is not 0, so look it up in kallsyms.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
---
 tools/testing/selftests/bpf/prog_tests/ksyms.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Andrii Nakryiko Sept. 10, 2020, 8 p.m. UTC | #1
On Thu, Sep 10, 2020 at 10:13 AM Ilya Leoshkevich <iii@linux.ibm.com> wrote:
>
> On non-SMP kernels __per_cpu_start is not 0, so look it up in kallsyms.
>
> Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
> ---

Acked-by: Andrii Nakryiko <andriin@fb.com>

>  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
>
Alexei Starovoitov Sept. 11, 2020, 2:57 a.m. UTC | #2
On Thu, Sep 10, 2020 at 1:01 PM Andrii Nakryiko
<andrii.nakryiko@gmail.com> wrote:
>
> On Thu, Sep 10, 2020 at 10:13 AM Ilya Leoshkevich <iii@linux.ibm.com> wrote:
> >
> > On non-SMP kernels __per_cpu_start is not 0, so look it up in kallsyms.
> >
> > Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
> > ---
>
> Acked-by: Andrii Nakryiko <andriin@fb.com>

Applied. Thanks
diff mbox series

Patch

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);