OSDN Git Service

selftests/bpf: Add checks for X__elf_bytes() skeleton helper
authorMatt Smith <alastorze@fb.com>
Wed, 1 Sep 2021 19:44:39 +0000 (12:44 -0700)
committerAndrii Nakryiko <andrii@kernel.org>
Wed, 8 Sep 2021 00:44:39 +0000 (17:44 -0700)
This patch adds two checks for the X__elf_bytes BPF skeleton helper
method. The first asserts that the pointer returned from the helper
method is valid, the second asserts that the provided size pointer is
set.

Signed-off-by: Matt Smith <alastorze@fb.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20210901194439.3853238-4-alastorze@fb.com
tools/testing/selftests/bpf/prog_tests/skeleton.c

index f6f130c..fe1e204 100644 (file)
@@ -18,6 +18,8 @@ void test_skeleton(void)
        struct test_skeleton__data *data;
        struct test_skeleton__rodata *rodata;
        struct test_skeleton__kconfig *kcfg;
+       const void *elf_bytes;
+       size_t elf_bytes_sz = 0;
 
        skel = test_skeleton__open();
        if (CHECK(!skel, "skel_open", "failed to open skeleton\n"))
@@ -91,6 +93,10 @@ void test_skeleton(void)
        CHECK(bss->kern_ver != kcfg->LINUX_KERNEL_VERSION, "ext2",
              "got %d != exp %d\n", bss->kern_ver, kcfg->LINUX_KERNEL_VERSION);
 
+       elf_bytes = test_skeleton__elf_bytes(&elf_bytes_sz);
+       ASSERT_OK_PTR(elf_bytes, "elf_bytes");
+       ASSERT_GE(elf_bytes_sz, 0, "elf_bytes_sz");
+
 cleanup:
        test_skeleton__destroy(skel);
 }