Lines Matching refs:def

559 	struct bpf_map_def def;  member
1073 return map->def.type == BPF_MAP_TYPE_STRUCT_OPS; in bpf_map__is_struct_ops()
1165 map->def.value_size = kern_vtype->size; in bpf_map__init_kern_struct_ops()
1425 map->def.type = BPF_MAP_TYPE_STRUCT_OPS; in init_struct_ops_maps()
1426 map->def.key_size = sizeof(int); in init_struct_ops_maps()
1427 map->def.value_size = type->size; in init_struct_ops_maps()
1428 map->def.max_entries = 1; in init_struct_ops_maps()
1429 map->def.map_flags = strcmp(sec_name, STRUCT_OPS_LINK_SEC) == 0 ? BPF_F_LINK : 0; in init_struct_ops_maps()
1804 switch (map->def.type) { in bpf_map_mmap_sz()
1806 return array_map_mmap_sz(map->def.value_size, map->def.max_entries); in bpf_map_mmap_sz()
1808 return page_sz * map->def.max_entries; in bpf_map_mmap_sz()
1930 struct bpf_map_def *def; in bpf_object__init_internal_map() local
1950 def = &map->def; in bpf_object__init_internal_map()
1951 def->type = BPF_MAP_TYPE_ARRAY; in bpf_object__init_internal_map()
1952 def->key_size = sizeof(int); in bpf_object__init_internal_map()
1953 def->value_size = data_sz; in bpf_object__init_internal_map()
1954 def->max_entries = 1; in bpf_object__init_internal_map()
1955 def->map_flags = type == LIBBPF_MAP_RODATA || type == LIBBPF_MAP_KCONFIG in bpf_object__init_internal_map()
1962 def->map_flags |= BPF_F_MMAPABLE; in bpf_object__init_internal_map()
1965 map->name, map->sec_idx, map->sec_offset, def->map_flags); in bpf_object__init_internal_map()
2797 return map->def.type == BPF_MAP_TYPE_RINGBUF || in map_is_ringbuf()
2798 map->def.type == BPF_MAP_TYPE_USER_RINGBUF; in map_is_ringbuf()
2801 static void fill_map_from_def(struct bpf_map *map, const struct btf_map_def *def) in fill_map_from_def() argument
2803 map->def.type = def->map_type; in fill_map_from_def()
2804 map->def.key_size = def->key_size; in fill_map_from_def()
2805 map->def.value_size = def->value_size; in fill_map_from_def()
2806 map->def.max_entries = def->max_entries; in fill_map_from_def()
2807 map->def.map_flags = def->map_flags; in fill_map_from_def()
2808 map->map_extra = def->map_extra; in fill_map_from_def()
2810 map->numa_node = def->numa_node; in fill_map_from_def()
2811 map->btf_key_type_id = def->key_type_id; in fill_map_from_def()
2812 map->btf_value_type_id = def->value_type_id; in fill_map_from_def()
2816 map->def.max_entries = adjust_ringbuf_sz(map->def.max_entries); in fill_map_from_def()
2818 if (def->parts & MAP_DEF_MAP_TYPE) in fill_map_from_def()
2819 pr_debug("map '%s': found type = %u.\n", map->name, def->map_type); in fill_map_from_def()
2821 if (def->parts & MAP_DEF_KEY_TYPE) in fill_map_from_def()
2823 map->name, def->key_type_id, def->key_size); in fill_map_from_def()
2824 else if (def->parts & MAP_DEF_KEY_SIZE) in fill_map_from_def()
2825 pr_debug("map '%s': found key_size = %u.\n", map->name, def->key_size); in fill_map_from_def()
2827 if (def->parts & MAP_DEF_VALUE_TYPE) in fill_map_from_def()
2829 map->name, def->value_type_id, def->value_size); in fill_map_from_def()
2830 else if (def->parts & MAP_DEF_VALUE_SIZE) in fill_map_from_def()
2831 pr_debug("map '%s': found value_size = %u.\n", map->name, def->value_size); in fill_map_from_def()
2833 if (def->parts & MAP_DEF_MAX_ENTRIES) in fill_map_from_def()
2834 pr_debug("map '%s': found max_entries = %u.\n", map->name, def->max_entries); in fill_map_from_def()
2835 if (def->parts & MAP_DEF_MAP_FLAGS) in fill_map_from_def()
2836 pr_debug("map '%s': found map_flags = 0x%x.\n", map->name, def->map_flags); in fill_map_from_def()
2837 if (def->parts & MAP_DEF_MAP_EXTRA) in fill_map_from_def()
2839 (unsigned long long)def->map_extra); in fill_map_from_def()
2840 if (def->parts & MAP_DEF_PINNING) in fill_map_from_def()
2841 pr_debug("map '%s': found pinning = %u.\n", map->name, def->pinning); in fill_map_from_def()
2842 if (def->parts & MAP_DEF_NUMA_NODE) in fill_map_from_def()
2843 pr_debug("map '%s': found numa_node = %u.\n", map->name, def->numa_node); in fill_map_from_def()
2845 if (def->parts & MAP_DEF_INNER_MAP) in fill_map_from_def()
2866 const struct btf_type *var, *def; in bpf_object__init_user_btf_map() local
2897 def = skip_mods_and_typedefs(obj->btf, var->type, NULL); in bpf_object__init_user_btf_map()
2898 if (!btf_is_struct(def)) { in bpf_object__init_user_btf_map()
2903 if (def->size > vi->size) { in bpf_object__init_user_btf_map()
2917 map->def.type = BPF_MAP_TYPE_UNSPEC; in bpf_object__init_user_btf_map()
2924 err = parse_btf_map_def(map->name, obj->btf, def, strict, &map_def, &inner_def); in bpf_object__init_user_btf_map()
3039 if (map->def.type != BPF_MAP_TYPE_ARENA) in bpf_object__init_user_btf_maps()
4934 map->def.type = info.type; in bpf_map__reuse_fd()
4935 map->def.key_size = info.key_size; in bpf_map__reuse_fd()
4936 map->def.value_size = info.value_size; in bpf_map__reuse_fd()
4937 map->def.max_entries = info.max_entries; in bpf_map__reuse_fd()
4938 map->def.map_flags = info.map_flags; in bpf_map__reuse_fd()
4953 return map->def.max_entries; in bpf_map__max_entries()
4958 if (!bpf_map_type__is_map_in_map(map->def.type)) in bpf_map__inner_map()
4969 map->def.max_entries = max_entries; in bpf_map__set_max_entries()
4973 map->def.max_entries = adjust_ringbuf_sz(map->def.max_entries); in bpf_map__set_max_entries()
5096 return (map_info.type == map->def.type && in map_is_reuse_compat()
5097 map_info.key_size == map->def.key_size && in map_is_reuse_compat()
5098 map_info.value_size == map->def.value_size && in map_is_reuse_compat()
5099 map_info.max_entries == map->def.max_entries && in map_is_reuse_compat()
5100 map_info.map_flags == map->def.map_flags && in map_is_reuse_compat()
5150 map->mmaped, map->def.value_size); in bpf_object__populate_internal_map()
5185 if (map->def.map_flags & BPF_F_MMAPABLE) { in bpf_object__populate_internal_map()
5189 if (map->def.map_flags & BPF_F_RDONLY_PROG) in bpf_object__populate_internal_map()
5214 struct bpf_map_def *def = &map->def; in bpf_object__create_map() local
5221 create_attr.map_flags = def->map_flags; in bpf_object__create_map()
5242 if (bpf_map_type__is_map_in_map(def->type)) { in bpf_object__create_map()
5259 switch (def->type) { in bpf_object__create_map()
5288 bpf_gen__map_create(obj->gen_loader, def->type, map_name, in bpf_object__create_map()
5289 def->key_size, def->value_size, def->max_entries, in bpf_object__create_map()
5299 map_fd = bpf_map_create(def->type, map_name, in bpf_object__create_map()
5300 def->key_size, def->value_size, in bpf_object__create_map()
5301 def->max_entries, &create_attr); in bpf_object__create_map()
5312 map_fd = bpf_map_create(def->type, map_name, in bpf_object__create_map()
5313 def->key_size, def->value_size, in bpf_object__create_map()
5314 def->max_entries, &create_attr); in bpf_object__create_map()
5317 if (bpf_map_type__is_map_in_map(def->type) && map->inner_map) { in bpf_object__create_map()
5416 if (!map->init_slots_sz || map->def.type != BPF_MAP_TYPE_PROG_ARRAY) in bpf_object_init_prog_arrays()
5428 if (map->def.type == BPF_MAP_TYPE_PERF_EVENT_ARRAY && !map->def.max_entries) { in map_set_def_max_entries()
5438 map->def.max_entries = nr_cpus; in map_set_def_max_entries()
5513 } else if (map->def.type == BPF_MAP_TYPE_ARENA) { in bpf_object__create_maps()
5530 if (map->init_slots_sz && map->def.type != BPF_MAP_TYPE_PROG_ARRAY) { in bpf_object__create_maps()
7189 const struct btf_type *sec, *var, *def; in bpf_object__collect_map_relos() local
7242 is_map_in_map = bpf_map_type__is_map_in_map(map->def.type); in bpf_object__collect_map_relos()
7243 is_prog_array = map->def.type == BPF_MAP_TYPE_PROG_ARRAY; in bpf_object__collect_map_relos()
7251 if (map->def.type == BPF_MAP_TYPE_HASH_OF_MAPS && in bpf_object__collect_map_relos()
7252 map->def.key_size != sizeof(int)) { in bpf_object__collect_map_relos()
7282 def = skip_mods_and_typedefs(obj->btf, var->type, NULL); in bpf_object__collect_map_relos()
7283 if (btf_vlen(def) == 0) in bpf_object__collect_map_relos()
7285 member = btf_members(def) + btf_vlen(def) - 1; in bpf_object__collect_map_relos()
7290 moff = btf_member_bit_offset(def, btf_vlen(def) - 1) / 8; in bpf_object__collect_map_relos()
7411 enum sec_def_flags def = cookie; in libbpf_prepare_prog_load() local
7414 if ((def & SEC_EXP_ATTACH_OPT) && !kernel_supports(prog->obj, FEAT_EXP_ATTACH_TYPE)) in libbpf_prepare_prog_load()
7417 if (def & SEC_SLEEPABLE) in libbpf_prepare_prog_load()
7420 if (prog->type == BPF_PROG_TYPE_XDP && (def & SEC_XDP_FRAGS)) in libbpf_prepare_prog_load()
7424 if ((def & SEC_USDT) && kernel_supports(prog->obj, FEAT_UPROBE_MULTI_LINK)) { in libbpf_prepare_prog_load()
7433 if ((def & SEC_ATTACH_BTF) && !prog->attach_btf_id) { in libbpf_prepare_prog_load()
8146 m->def.map_flags &= ~BPF_F_MMAPABLE; in bpf_object__sanitize_maps()
9866 offset - map->sec_offset < map->def.value_size) in find_struct_ops_map_by_offset()
10258 return map->def.type; in bpf_map__type()
10265 map->def.type = type; in bpf_map__set_type()
10271 return map->def.map_flags; in bpf_map__map_flags()
10278 map->def.map_flags = flags; in bpf_map__set_map_flags()
10310 return map->def.key_size; in bpf_map__key_size()
10317 map->def.key_size = size; in bpf_map__set_key_size()
10323 return map->def.value_size; in bpf_map__value_size()
10406 if (map->def.type != BPF_MAP_TYPE_ARRAY) in bpf_map__set_value_size()
10410 mmap_new_sz = array_map_mmap_sz(size, map->def.max_entries); in bpf_map__set_value_size()
10426 map->def.value_size = size; in bpf_map__set_value_size()
10451 if (map->def.type == BPF_MAP_TYPE_ARENA) in bpf_map__set_initial_value()
10454 actual_sz = map->def.value_size; in bpf_map__set_initial_value()
10466 *psize = map->def.value_size; in bpf_map__initial_value()
10473 if (map->def.type == BPF_MAP_TYPE_ARENA) in bpf_map__initial_value()
10476 *psize = map->def.value_size; in bpf_map__initial_value()
10501 if (!bpf_map_type__is_map_in_map(map->def.type)) { in bpf_map__set_inner_map_fd()
10601 if (map->def.key_size != key_sz) { in validate_map_op()
10603 map->name, key_sz, map->def.key_size); in validate_map_op()
10615 switch (map->def.type) { in validate_map_op()
10621 size_t elem_sz = roundup(map->def.value_size, 8); in validate_map_op()
10631 if (map->def.value_size != value_sz) { in validate_map_op()
10633 map->name, value_sz, map->def.value_size); in validate_map_op()
13152 if (err && (!(map->def.map_flags & BPF_F_LINK) || err != -EBUSY)) { in bpf_map__attach_struct_ops()
13159 if (!(map->def.map_flags & BPF_F_LINK)) { in bpf_map__attach_struct_ops()