Lines Matching defs:def
518 struct bpf_map_def def;
986 return map->def.type == BPF_MAP_TYPE_STRUCT_OPS;
1015 map->def.value_size = kern_vtype->size;
1199 map->def.type = BPF_MAP_TYPE_STRUCT_OPS;
1200 map->def.key_size = sizeof(int);
1201 map->def.value_size = type->size;
1202 map->def.max_entries = 1;
1203 map->def.map_flags = map_flags;
1639 struct bpf_map_def *def;
1659 def = &map->def;
1660 def->type = BPF_MAP_TYPE_ARRAY;
1661 def->key_size = sizeof(int);
1662 def->value_size = data_sz;
1663 def->max_entries = 1;
1664 def->map_flags = type == LIBBPF_MAP_RODATA || type == LIBBPF_MAP_KCONFIG
1671 def->map_flags |= BPF_F_MMAPABLE;
1674 map->name, map->sec_idx, map->sec_offset, def->map_flags);
1676 mmap_sz = bpf_map_mmap_sz(map->def.value_size, map->def.max_entries);
2355 pr_warn("map '%s': %s def is of unexpected kind %s.\n",
2362 pr_warn("map '%s': prog-array value def is of unexpected kind %s.\n",
2369 pr_warn("map '%s': map-in-map inner def is of unexpected kind %s.\n",
2384 pr_warn("map '%s': inner def can't be pinned.\n", map_name);
2453 return map->def.type == BPF_MAP_TYPE_RINGBUF ||
2454 map->def.type == BPF_MAP_TYPE_USER_RINGBUF;
2457 static void fill_map_from_def(struct bpf_map *map, const struct btf_map_def *def)
2459 map->def.type = def->map_type;
2460 map->def.key_size = def->key_size;
2461 map->def.value_size = def->value_size;
2462 map->def.max_entries = def->max_entries;
2463 map->def.map_flags = def->map_flags;
2464 map->map_extra = def->map_extra;
2466 map->numa_node = def->numa_node;
2467 map->btf_key_type_id = def->key_type_id;
2468 map->btf_value_type_id = def->value_type_id;
2472 map->def.max_entries = adjust_ringbuf_sz(map->def.max_entries);
2474 if (def->parts & MAP_DEF_MAP_TYPE)
2475 pr_debug("map '%s': found type = %u.\n", map->name, def->map_type);
2477 if (def->parts & MAP_DEF_KEY_TYPE)
2479 map->name, def->key_type_id, def->key_size);
2480 else if (def->parts & MAP_DEF_KEY_SIZE)
2481 pr_debug("map '%s': found key_size = %u.\n", map->name, def->key_size);
2483 if (def->parts & MAP_DEF_VALUE_TYPE)
2485 map->name, def->value_type_id, def->value_size);
2486 else if (def->parts & MAP_DEF_VALUE_SIZE)
2487 pr_debug("map '%s': found value_size = %u.\n", map->name, def->value_size);
2489 if (def->parts & MAP_DEF_MAX_ENTRIES)
2490 pr_debug("map '%s': found max_entries = %u.\n", map->name, def->max_entries);
2491 if (def->parts & MAP_DEF_MAP_FLAGS)
2492 pr_debug("map '%s': found map_flags = 0x%x.\n", map->name, def->map_flags);
2493 if (def->parts & MAP_DEF_MAP_EXTRA)
2495 (unsigned long long)def->map_extra);
2496 if (def->parts & MAP_DEF_PINNING)
2497 pr_debug("map '%s': found pinning = %u.\n", map->name, def->pinning);
2498 if (def->parts & MAP_DEF_NUMA_NODE)
2499 pr_debug("map '%s': found numa_node = %u.\n", map->name, def->numa_node);
2501 if (def->parts & MAP_DEF_INNER_MAP)
2522 const struct btf_type *var, *def;
2553 def = skip_mods_and_typedefs(obj->btf, var->type, NULL);
2554 if (!btf_is_struct(def)) {
2555 pr_warn("map '%s': unexpected def kind %s.\n",
2559 if (def->size > vi->size) {
2560 pr_warn("map '%s': invalid def size.\n", map_name);
2573 map->def.type = BPF_MAP_TYPE_UNSPEC;
2580 err = parse_btf_map_def(map->name, obj->btf, def, strict, &map_def, &inner_def);
4458 map->def.type = info.type;
4459 map->def.key_size = info.key_size;
4460 map->def.value_size = info.value_size;
4461 map->def.max_entries = info.max_entries;
4462 map->def.map_flags = info.map_flags;
4479 return map->def.max_entries;
4484 if (!bpf_map_type__is_map_in_map(map->def.type))
4495 map->def.max_entries = max_entries;
4499 map->def.max_entries = adjust_ringbuf_sz(map->def.max_entries);
5014 return (map_info.type == map->def.type &&
5015 map_info.key_size == map->def.key_size &&
5016 map_info.value_size == map->def.value_size &&
5017 map_info.max_entries == map->def.max_entries &&
5018 map_info.map_flags == map->def.map_flags &&
5070 map->mmaped, map->def.value_size);
5103 struct bpf_map_def *def = &map->def;
5110 create_attr.map_flags = def->map_flags;
5123 if (bpf_map_type__is_map_in_map(def->type)) {
5140 switch (def->type) {
5164 bpf_gen__map_create(obj->gen_loader, def->type, map_name,
5165 def->key_size, def->value_size, def->max_entries,
5172 map->fd = bpf_map_create(def->type, map_name,
5173 def->key_size, def->value_size,
5174 def->max_entries, &create_attr);
5189 map->fd = bpf_map_create(def->type, map_name,
5190 def->key_size, def->value_size,
5191 def->max_entries, &create_attr);
5196 if (bpf_map_type__is_map_in_map(def->type) && map->inner_map) {
5283 if (!map->init_slots_sz || map->def.type != BPF_MAP_TYPE_PROG_ARRAY)
5297 if (map->def.type == BPF_MAP_TYPE_PERF_EVENT_ARRAY && !map->def.max_entries) {
5307 map->def.max_entries = nr_cpus;
5387 if (map->init_slots_sz && map->def.type != BPF_MAP_TYPE_PROG_ARRAY) {
6605 const struct btf_type *sec, *var, *def;
6658 is_map_in_map = bpf_map_type__is_map_in_map(map->def.type);
6659 is_prog_array = map->def.type == BPF_MAP_TYPE_PROG_ARRAY;
6667 if (map->def.type == BPF_MAP_TYPE_HASH_OF_MAPS &&
6668 map->def.key_size != sizeof(int)) {
6698 def = skip_mods_and_typedefs(obj->btf, var->type, NULL);
6699 if (btf_vlen(def) == 0)
6701 member = btf_members(def) + btf_vlen(def) - 1;
6706 moff = btf_member_bit_offset(def, btf_vlen(def) - 1) / 8;
6827 enum sec_def_flags def = cookie;
6830 if ((def & SEC_EXP_ATTACH_OPT) && !kernel_supports(prog->obj, FEAT_EXP_ATTACH_TYPE))
6833 if (def & SEC_SLEEPABLE)
6836 if (prog->type == BPF_PROG_TYPE_XDP && (def & SEC_XDP_FRAGS))
6840 if ((def & SEC_USDT) && kernel_supports(prog->obj, FEAT_UPROBE_MULTI_LINK))
6843 if ((def & SEC_ATTACH_BTF) && !prog->attach_btf_id) {
7518 m->def.map_flags &= ~BPF_F_MMAPABLE;
8413 mmap_sz = bpf_map_mmap_sz(map->def.value_size, map->def.max_entries);
9117 offset - map->sec_offset < map->def.value_size)
9495 return map->def.type;
9502 map->def.type = type;
9508 return map->def.map_flags;
9515 map->def.map_flags = flags;
9547 return map->def.key_size;
9554 map->def.key_size = size;
9560 return map->def.value_size;
9643 mmap_old_sz = bpf_map_mmap_sz(map->def.value_size, map->def.max_entries);
9644 mmap_new_sz = bpf_map_mmap_sz(size, map->def.max_entries);
9660 map->def.value_size = size;
9678 size != map->def.value_size || map->fd >= 0)
9689 *psize = map->def.value_size;
9713 if (!bpf_map_type__is_map_in_map(map->def.type)) {
9813 if (map->def.key_size != key_sz) {
9815 map->name, key_sz, map->def.key_size);
9822 switch (map->def.type) {
9828 size_t elem_sz = roundup(map->def.value_size, 8);
9838 if (map->def.value_size != value_sz) {
9840 map->name, value_sz, map->def.value_size);
12184 if (err && (!(map->def.map_flags & BPF_F_LINK) || err != -EBUSY)) {
12191 if (!(map->def.map_flags & BPF_F_LINK)) {
13122 size_t mmap_sz = bpf_map_mmap_sz(map->def.value_size, map->def.max_entries);
13129 if (!(map->def.map_flags & BPF_F_MMAPABLE)) {
13134 if (map->def.map_flags & BPF_F_RDONLY_PROG)