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