Lines Matching defs:def
531 struct bpf_map_def def;
1031 return map->def.type == BPF_MAP_TYPE_STRUCT_OPS;
1060 map->def.value_size = kern_vtype->size;
1244 map->def.type = BPF_MAP_TYPE_STRUCT_OPS;
1245 map->def.key_size = sizeof(int);
1246 map->def.value_size = type->size;
1247 map->def.max_entries = 1;
1248 map->def.map_flags = map_flags;
1724 struct bpf_map_def *def;
1744 def = &map->def;
1745 def->type = BPF_MAP_TYPE_ARRAY;
1746 def->key_size = sizeof(int);
1747 def->value_size = data_sz;
1748 def->max_entries = 1;
1749 def->map_flags = type == LIBBPF_MAP_RODATA || type == LIBBPF_MAP_KCONFIG
1756 def->map_flags |= BPF_F_MMAPABLE;
1759 map->name, map->sec_idx, map->sec_offset, def->map_flags);
1761 mmap_sz = bpf_map_mmap_sz(map->def.value_size, map->def.max_entries);
2452 pr_warn("map '%s': %s def is of unexpected kind %s.\n",
2459 pr_warn("map '%s': prog-array value def is of unexpected kind %s.\n",
2466 pr_warn("map '%s': map-in-map inner def is of unexpected kind %s.\n",
2481 pr_warn("map '%s': inner def can't be pinned.\n", map_name);
2550 return map->def.type == BPF_MAP_TYPE_RINGBUF ||
2551 map->def.type == BPF_MAP_TYPE_USER_RINGBUF;
2554 static void fill_map_from_def(struct bpf_map *map, const struct btf_map_def *def)
2556 map->def.type = def->map_type;
2557 map->def.key_size = def->key_size;
2558 map->def.value_size = def->value_size;
2559 map->def.max_entries = def->max_entries;
2560 map->def.map_flags = def->map_flags;
2561 map->map_extra = def->map_extra;
2563 map->numa_node = def->numa_node;
2564 map->btf_key_type_id = def->key_type_id;
2565 map->btf_value_type_id = def->value_type_id;
2569 map->def.max_entries = adjust_ringbuf_sz(map->def.max_entries);
2571 if (def->parts & MAP_DEF_MAP_TYPE)
2572 pr_debug("map '%s': found type = %u.\n", map->name, def->map_type);
2574 if (def->parts & MAP_DEF_KEY_TYPE)
2576 map->name, def->key_type_id, def->key_size);
2577 else if (def->parts & MAP_DEF_KEY_SIZE)
2578 pr_debug("map '%s': found key_size = %u.\n", map->name, def->key_size);
2580 if (def->parts & MAP_DEF_VALUE_TYPE)
2582 map->name, def->value_type_id, def->value_size);
2583 else if (def->parts & MAP_DEF_VALUE_SIZE)
2584 pr_debug("map '%s': found value_size = %u.\n", map->name, def->value_size);
2586 if (def->parts & MAP_DEF_MAX_ENTRIES)
2587 pr_debug("map '%s': found max_entries = %u.\n", map->name, def->max_entries);
2588 if (def->parts & MAP_DEF_MAP_FLAGS)
2589 pr_debug("map '%s': found map_flags = 0x%x.\n", map->name, def->map_flags);
2590 if (def->parts & MAP_DEF_MAP_EXTRA)
2592 (unsigned long long)def->map_extra);
2593 if (def->parts & MAP_DEF_PINNING)
2594 pr_debug("map '%s': found pinning = %u.\n", map->name, def->pinning);
2595 if (def->parts & MAP_DEF_NUMA_NODE)
2596 pr_debug("map '%s': found numa_node = %u.\n", map->name, def->numa_node);
2598 if (def->parts & MAP_DEF_INNER_MAP)
2619 const struct btf_type *var, *def;
2650 def = skip_mods_and_typedefs(obj->btf, var->type, NULL);
2651 if (!btf_is_struct(def)) {
2652 pr_warn("map '%s': unexpected def kind %s.\n",
2656 if (def->size > vi->size) {
2657 pr_warn("map '%s': invalid def size.\n", map_name);
2670 map->def.type = BPF_MAP_TYPE_UNSPEC;
2677 err = parse_btf_map_def(map->name, obj->btf, def, strict, &map_def, &inner_def);
4863 map->def.type = info.type;
4864 map->def.key_size = info.key_size;
4865 map->def.value_size = info.value_size;
4866 map->def.max_entries = info.max_entries;
4867 map->def.map_flags = info.map_flags;
4884 return map->def.max_entries;
4889 if (!bpf_map_type__is_map_in_map(map->def.type))
4900 map->def.max_entries = max_entries;
4904 map->def.max_entries = adjust_ringbuf_sz(map->def.max_entries);
5419 return (map_info.type == map->def.type &&
5420 map_info.key_size == map->def.key_size &&
5421 map_info.value_size == map->def.value_size &&
5422 map_info.max_entries == map->def.max_entries &&
5423 map_info.map_flags == map->def.map_flags &&
5475 map->mmaped, map->def.value_size);
5508 struct bpf_map_def *def = &map->def;
5515 create_attr.map_flags = def->map_flags;
5528 if (bpf_map_type__is_map_in_map(def->type)) {
5542 switch (def->type) {
5567 bpf_gen__map_create(obj->gen_loader, def->type, map_name,
5568 def->key_size, def->value_size, def->max_entries,
5575 map->fd = bpf_map_create(def->type, map_name,
5576 def->key_size, def->value_size,
5577 def->max_entries, &create_attr);
5592 map->fd = bpf_map_create(def->type, map_name,
5593 def->key_size, def->value_size,
5594 def->max_entries, &create_attr);
5599 if (bpf_map_type__is_map_in_map(def->type) && map->inner_map) {
5686 if (!map->init_slots_sz || map->def.type != BPF_MAP_TYPE_PROG_ARRAY)
5700 if (map->def.type == BPF_MAP_TYPE_PERF_EVENT_ARRAY && !map->def.max_entries) {
5710 map->def.max_entries = nr_cpus;
5790 if (map->init_slots_sz && map->def.type != BPF_MAP_TYPE_PROG_ARRAY) {
7043 const struct btf_type *sec, *var, *def;
7096 is_map_in_map = bpf_map_type__is_map_in_map(map->def.type);
7097 is_prog_array = map->def.type == BPF_MAP_TYPE_PROG_ARRAY;
7105 if (map->def.type == BPF_MAP_TYPE_HASH_OF_MAPS &&
7106 map->def.key_size != sizeof(int)) {
7136 def = skip_mods_and_typedefs(obj->btf, var->type, NULL);
7137 if (btf_vlen(def) == 0)
7139 member = btf_members(def) + btf_vlen(def) - 1;
7144 moff = btf_member_bit_offset(def, btf_vlen(def) - 1) / 8;
7270 enum sec_def_flags def = cookie;
7273 if ((def & SEC_EXP_ATTACH_OPT) && !kernel_supports(prog->obj, FEAT_EXP_ATTACH_TYPE))
7276 if (def & SEC_SLEEPABLE)
7279 if (prog->type == BPF_PROG_TYPE_XDP && (def & SEC_XDP_FRAGS))
7283 if ((def & SEC_USDT) && kernel_supports(prog->obj, FEAT_UPROBE_MULTI_LINK))
7286 if ((def & SEC_ATTACH_BTF) && !prog->attach_btf_id) {
7963 m->def.map_flags &= ~BPF_F_MMAPABLE;
8858 mmap_sz = bpf_map_mmap_sz(map->def.value_size, map->def.max_entries);
9573 offset - map->sec_offset < map->def.value_size)
9951 return map->def.type;
9958 map->def.type = type;
9964 return map->def.map_flags;
9971 map->def.map_flags = flags;
10003 return map->def.key_size;
10010 map->def.key_size = size;
10016 return map->def.value_size;
10099 mmap_old_sz = bpf_map_mmap_sz(map->def.value_size, map->def.max_entries);
10100 mmap_new_sz = bpf_map_mmap_sz(size, map->def.max_entries);
10116 map->def.value_size = size;
10134 size != map->def.value_size || map->fd >= 0)
10145 *psize = map->def.value_size;
10169 if (!bpf_map_type__is_map_in_map(map->def.type)) {
10269 if (map->def.key_size != key_sz) {
10271 map->name, key_sz, map->def.key_size);
10278 switch (map->def.type) {
10284 size_t elem_sz = roundup(map->def.value_size, 8);
10294 if (map->def.value_size != value_sz) {
10296 map->name, value_sz, map->def.value_size);
12698 if (err && (!(map->def.map_flags & BPF_F_LINK) || err != -EBUSY)) {
12705 if (!(map->def.map_flags & BPF_F_LINK)) {
13636 size_t mmap_sz = bpf_map_mmap_sz(map->def.value_size, map->def.max_entries);
13643 if (!(map->def.map_flags & BPF_F_MMAPABLE)) {
13648 if (map->def.map_flags & BPF_F_RDONLY_PROG)