selftests/bpf: Switch to ".bss"/".rodata"/".data" lookups for internal 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> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Song Liu <songliubraving@fb.com> Link: https://lore.kernel.org/bpf/20211021014404.2635234-11-andrii@kernel.org
This commit is contained in:
Родитель
26071635ac
Коммит
4f2511e199
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ void serial_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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче