Skip to content

Commit

Permalink
selftests/bpf: switch to ".bss"/".rodata"/".data" lookups for interna…
Browse files Browse the repository at this point in the history
…l maps

Utilize libbpf's feature of allowing to lookup internal maps by their
ELF section names. No need to guess or calculate the exact truncated
prefix taken from the object name.

Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
  • Loading branch information
anakryiko authored and Nobody committed Oct 8, 2021
1 parent 3ddbccf commit c9145e2
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 7 deletions.
2 changes: 1 addition & 1 deletion tools/testing/selftests/bpf/prog_tests/core_autosize.c
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ void test_core_autosize(void)

usleep(1);

bss_map = bpf_object__find_map_by_name(skel->obj, "test_cor.bss");
bss_map = bpf_object__find_map_by_name(skel->obj, ".bss");
if (!ASSERT_OK_PTR(bss_map, "bss_map_find"))
goto cleanup;

Expand Down
2 changes: 1 addition & 1 deletion tools/testing/selftests/bpf/prog_tests/core_reloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -867,7 +867,7 @@ void test_core_reloc(void)
goto cleanup;
}

data_map = bpf_object__find_map_by_name(obj, "test_cor.bss");
data_map = bpf_object__find_map_by_name(obj, ".bss");
if (CHECK(!data_map, "find_data_map", "data map not found\n"))
goto cleanup;

Expand Down
11 changes: 9 additions & 2 deletions tools/testing/selftests/bpf/prog_tests/global_data.c
Original file line number Diff line number Diff line change
Expand Up @@ -103,11 +103,18 @@ static void test_global_data_struct(struct bpf_object *obj, __u32 duration)
static void test_global_data_rdonly(struct bpf_object *obj, __u32 duration)
{
int err = -ENOMEM, map_fd, zero = 0;
struct bpf_map *map;
struct bpf_map *map, *map2;
__u8 *buff;

map = bpf_object__find_map_by_name(obj, "test_glo.rodata");
if (CHECK_FAIL(!map || !bpf_map__is_internal(map)))
if (!ASSERT_OK_PTR(map, "map"))
return;
if (!ASSERT_TRUE(bpf_map__is_internal(map), "is_internal"))
return;

/* ensure we can lookup internal maps by their ELF names */
map2 = bpf_object__find_map_by_name(obj, ".rodata");
if (!ASSERT_EQ(map, map2, "same_maps"))
return;

map_fd = bpf_map__fd(map);
Expand Down
2 changes: 1 addition & 1 deletion tools/testing/selftests/bpf/prog_tests/global_data_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ void test_global_data_init(void)
if (CHECK_FAIL(err))
return;

map = bpf_object__find_map_by_name(obj, "test_glo.rodata");
map = bpf_object__find_map_by_name(obj, ".rodata");
if (CHECK_FAIL(!map || !bpf_map__is_internal(map)))
goto out;

Expand Down
2 changes: 1 addition & 1 deletion tools/testing/selftests/bpf/prog_tests/kfree_skb.c
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ void test_kfree_skb(void)
if (CHECK(!fexit, "find_prog", "prog eth_type_trans not found\n"))
goto close_prog;

global_data = bpf_object__find_map_by_name(obj2, "kfree_sk.bss");
global_data = bpf_object__find_map_by_name(obj2, ".bss");
if (CHECK(!global_data, "find global data", "not found\n"))
goto close_prog;

Expand Down
2 changes: 1 addition & 1 deletion tools/testing/selftests/bpf/prog_tests/rdonly_maps.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ void test_rdonly_maps(void)
if (CHECK(err, "obj_load", "err %d errno %d\n", err, errno))
goto cleanup;

bss_map = bpf_object__find_map_by_name(obj, "test_rdo.bss");
bss_map = bpf_object__find_map_by_name(obj, ".bss");
if (CHECK(!bss_map, "find_bss_map", "failed\n"))
goto cleanup;

Expand Down

0 comments on commit c9145e2

Please sign in to comment.