Lines Matching defs:maps
520 /* real_name is defined for special internal maps (.rodata*,
666 struct bpf_map *maps;
1172 map = &obj->maps[i];
1584 err = libbpf_ensure_mem((void **)&obj->maps, &obj->maps_cap,
1585 sizeof(*obj->maps), obj->nr_maps + 1);
1589 map = &obj->maps[obj->nr_maps++];
1637 * maps of a different BPF object.
1660 * .rodata maps, but for new custom .data.custom and .rodata.custom
1661 * maps we use their ELF names as is, not prepending bpf_object name
1663 * kernel. Full name can be recovered for such maps by using DATASEC
1752 /* failures are fine because of maps like .rodata.str1.1 */
1777 pr_debug("map %td is \"%s\"\n", map - obj->maps, map->name);
1788 * Populate obj->maps with libbpf internal maps.
2292 /* PIN_BY_NAME: pin maps by name (in /sys/fs/bpf by default) */
2419 pr_warn("map '%s': multi-level inner maps not supported.\n",
3113 * whether to make global data BPF array maps as
3822 } else if (strcmp(name, "maps") == 0) {
3823 pr_warn("elf: legacy map definitions in 'maps' section are not supported by libbpf v1.0+\n");
4542 map = &obj->maps[map_idx];
4571 map = &obj->maps[map_idx];
5474 bpf_gen__map_update_elem(obj->gen_loader, map - obj->maps,
5477 bpf_gen__map_freeze(obj->gen_loader, map - obj->maps);
5569 &create_attr, is_inner ? -1 : map - obj->maps);
5624 map - obj->maps, i,
5625 targ_map - obj->maps);
5684 map = &obj->maps[i];
5726 map = &obj->maps[i];
5728 /* To support old kernels, we skip creating global data maps
5821 zclose(obj->maps[j].fd);
6328 * where lower 123 is map index into obj->maps[] array
6378 map = &obj->maps[relo->map_idx];
6391 map = &obj->maps[relo->map_idx];
6412 insn[0].imm = obj->maps[obj->kconfig_map_idx].fd;
7064 pr_warn(".maps relo #%d: failed to get ELF relo\n", i);
7070 pr_warn(".maps relo #%d: symbol %zx not found\n",
7076 pr_debug(".maps relo #%d: for %zd value %zd rel->r_offset %zu name %d ('%s')\n",
7081 map = &obj->maps[j];
7091 pr_warn(".maps relo #%d: cannot find map '%s' at rel->r_offset %zu\n",
7101 pr_warn(".maps relo #%d: '%s' isn't a BTF-defined map\n",
7107 pr_warn(".maps relo #%d: hash-of-maps '%s' should have key size %zu.\n",
7113 pr_warn(".maps relo #%d: '%s' isn't a valid map reference\n",
7120 pr_warn(".maps relo #%d: '%s' isn't a valid program reference\n",
7127 pr_warn(".maps relo #%d: '%s' isn't an entry-point program\n",
7167 pr_debug(".maps relo #%d: map '%s' slot [%d] points to %s '%s'\n",
7444 map = &prog->obj->maps[i];
7596 * "345" in "2001000345" is a map index in obj->maps to fetch map name.
7609 map = &obj->maps[map_idx];
7944 zclose(obj->maps[i].fd);
7945 if (obj->maps[i].st_ops)
7946 zfree(&obj->maps[i].st_ops->kern_vdata);
8236 kcfg_data = obj->maps[obj->kconfig_map_idx].mmaped;
8358 if (bpf_map__is_struct_ops(&obj->maps[i]))
8359 bpf_map_prepare_vdata(&obj->maps[i]);
8396 obj->maps[i].fd = -1;
8423 /* unpin any maps that were auto-pinned during load */
8425 if (obj->maps[i].pinned && !obj->maps[i].reused)
8426 bpf_map__unpin(&obj->maps[i], NULL);
8896 bpf_map__destroy(&obj->maps[i]);
8907 zfree(&obj->maps);
9568 map = &obj->maps[i];
9925 /* Since libbpf started to support custom .data.* and .rodata.* maps,
9929 * maps to know which name has to be returned to the user.
10191 if (!obj || !obj->maps)
10194 s = obj->maps;
10195 e = obj->maps + obj->nr_maps;
10203 idx = (m - obj->maps) + i;
10206 return &obj->maps[idx];
10213 return obj->maps;
10224 return obj->maps + obj->nr_maps - 1;
13467 struct bpf_map_skeleton *maps,
13473 struct bpf_map **map = maps[i].map;
13474 const char *name = maps[i].name;
13475 void **mmaped = maps[i].mmaped;
13520 * as it breaks global data maps, because they contain object name
13539 err = populate_skeleton_maps(obj, s->maps, s->map_cnt);
13541 pr_warn("failed to populate skeleton maps for '%s': %d\n", s->name, err);
13575 err = populate_skeleton_maps(s->obj, s->maps, s->map_cnt);
13577 pr_warn("failed to populate subskeleton maps: %d\n", err);
13583 pr_warn("failed to populate subskeleton maps: %d\n", err);
13618 free(s->maps);
13635 struct bpf_map *map = *s->maps[i].map;
13638 void **mmaped = s->maps[i].mmaped;
13738 free(s->maps);