/Linux-v6.1/tools/bpf/resolve_btfids/ |
D | main.c | 92 struct btf_id { struct 167 static struct btf_id *btf_id__find(struct rb_root *root, const char *name) in btf_id__find() 170 struct btf_id *id; in btf_id__find() 174 id = rb_entry(p, struct btf_id, rb_node); in btf_id__find() 186 static struct btf_id * 191 struct btf_id *id; in btf_id__add() 196 id = rb_entry(parent, struct btf_id, rb_node); in btf_id__add() 249 static struct btf_id *add_set(struct object *obj, char *name, bool is_set8) in add_set() 267 static struct btf_id *add_symbol(struct rb_root *root, char *name, size_t size) in add_symbol() 425 struct btf_id *id; in symbols_collect() [all …]
|
/Linux-v6.1/tools/bpf/bpftool/ |
D | btf.c | 526 static bool btf_is_kernel_module(__u32 btf_id) in btf_is_kernel_module() argument 534 btf_fd = bpf_btf_get_fd_by_id(btf_id); in btf_is_kernel_module() 536 p_err("can't get BTF object by id (%u): %s", btf_id, strerror(errno)); in btf_is_kernel_module() 546 p_err("can't get BTF (ID %u) object info: %s", btf_id, strerror(errno)); in btf_is_kernel_module() 559 __u32 btf_id = -1; in do_dump() local 582 btf_id = info.btf_id; in do_dump() 618 btf_id = info.btf_id; in do_dump() 622 btf_id = strtoul(*argv, &endptr, 0); in do_dump() 677 if (!base_btf && btf_is_kernel_module(btf_id)) { in do_dump() 683 btf = btf__load_from_kernel_by_id_split(btf_id, base_btf); in do_dump() [all …]
|
D | map.c | 514 if (info->btf_id) in show_map_close_json() 515 jsonw_int_field(json_wtr, "btf_id", info->btf_id); in show_map_close_json() 609 if (info->btf_id || frozen) in show_map_close_plain() 612 if (info->btf_id) in show_map_close_plain() 613 printf("btf_id %d", info->btf_id); in show_map_close_plain() 616 printf("%sfrozen", info->btf_id ? " " : ""); in show_map_close_plain() 776 if (!info.btf_id) in maps_have_btf() 800 *btf = btf__load_from_kernel_by_id(info->btf_id); in get_map_kv_btf()
|
D | prog.c | 322 btf = btf__load_from_kernel_by_id(map_info.btf_id); in show_prog_metadata() 479 if (info->btf_id) in print_prog_json() 480 jsonw_int_field(json_wtr, "btf_id", info->btf_id); in print_prog_json() 567 if (info->btf_id) in print_prog_plain() 568 printf("\n\tbtf_id %d", info->btf_id); in print_prog_plain() 727 if (info->btf_id) { in prog_dump() 728 btf = btf__load_from_kernel_by_id(info->btf_id); in prog_dump() 2112 if (info.btf_id == 0) { in profile_target_name() 2134 btf = btf__load_from_kernel_by_id(info.btf_id); in profile_target_name() 2143 info.btf_id, func_info.type_id); in profile_target_name()
|
/Linux-v6.1/tools/perf/util/ |
D | bpf-event.c | 160 u32 btf_id, in perf_env__fetch_btf() argument 173 node->id = btf_id; in perf_env__fetch_btf() 288 if (info->btf_id && info->nr_func_info && info->func_info_rec_size) { in perf_event__synthesize_one_bpf_prog() 295 btf = btf__load_from_kernel_by_id(info->btf_id); in perf_event__synthesize_one_bpf_prog() 297 pr_debug("%s: failed to get BTF of id %u, aborting\n", __func__, info->btf_id); in perf_event__synthesize_one_bpf_prog() 301 perf_env__fetch_btf(env, info->btf_id, btf); in perf_event__synthesize_one_bpf_prog() 517 u32 btf_id; in perf_env__add_bpf_info() local 538 btf_id = info_linear->info.btf_id; in perf_env__add_bpf_info() 547 if (btf_id == 0) in perf_env__add_bpf_info() 550 btf = btf__load_from_kernel_by_id(btf_id); in perf_env__add_bpf_info() [all …]
|
D | env.c | 81 __u32 btf_id = btf_node->id; in perf_env__insert_btf() local 92 if (btf_id < node->id) { in perf_env__insert_btf() 94 } else if (btf_id > node->id) { in perf_env__insert_btf() 97 pr_debug("duplicated btf %u\n", btf_id); in perf_env__insert_btf() 111 struct btf_node *perf_env__find_btf(struct perf_env *env, __u32 btf_id) in perf_env__find_btf() argument 121 if (btf_id < node->id) in perf_env__find_btf() 123 else if (btf_id > node->id) in perf_env__find_btf()
|
D | env.h | 172 struct btf_node *perf_env__find_btf(struct perf_env *env, __u32 btf_id);
|
D | bpf_counter.c | 77 if (info_linear->info.btf_id == 0) { in bpf_target_prog_name() 82 btf = btf__load_from_kernel_by_id(info_linear->info.btf_id); in bpf_target_prog_name() 92 info_linear->info.btf_id, func_info[0].type_id); in bpf_target_prog_name()
|
/Linux-v6.1/tools/testing/selftests/bpf/prog_tests/ |
D | fexit_bpf2bpf.c | 113 __s32 btf_id; in test_fexit_bpf2bpf_common() local 118 btf_id = btf__find_by_name_kind(btf, tgt_name + 1, BTF_KIND_FUNC); in test_fexit_bpf2bpf_common() 144 ASSERT_EQ(link_info.tracing.target_btf_id, btf_id, "link_tgt_btf_id"); in test_fexit_bpf2bpf_common() 422 if (!info.btf_id) in find_prog_btf_id() 425 btf = btf__load_from_kernel_by_id(info.btf_id); in find_prog_btf_id() 462 int btf_id; in test_fentry_to_cgroup_bpf() local 476 btf_id = find_prog_btf_id("bind_v4_prog", bpf_program__fd(skel->progs.bind_v4_prog)); in test_fentry_to_cgroup_bpf() 477 if (!ASSERT_GE(btf_id, 0, "find_prog_btf_id")) in test_fentry_to_cgroup_bpf() 480 fentry_fd = load_fentry(bpf_program__fd(skel->progs.bind_v4_prog), btf_id); in test_fentry_to_cgroup_bpf() 491 ASSERT_EQ(info.btf_id, 0, "info.btf_id"); in test_fentry_to_cgroup_bpf() [all …]
|
/Linux-v6.1/include/linux/ |
D | bpf_verifier.h | 70 u32 btf_id; member 412 u32 btf_id; /* btf_id for struct typed var */ member 604 struct btf *btf, u32 btf_id) in bpf_trampoline_compute_key() argument 607 return ((u64)tgt_prog->aux->id << 32) | btf_id; in bpf_trampoline_compute_key() 609 return ((u64)btf_obj_id(btf) << 32) | 0x80000000 | btf_id; in bpf_trampoline_compute_key() 613 static inline void bpf_trampoline_unpack_key(u64 key, u32 *obj_id, u32 *btf_id) in bpf_trampoline_unpack_key() argument 617 if (btf_id) in bpf_trampoline_unpack_key() 618 *btf_id = key & 0x7FFFFFFF; in bpf_trampoline_unpack_key() 624 u32 btf_id,
|
D | bpf_lsm.h | 30 bool bpf_lsm_is_sleepable_hook(u32 btf_id); 49 static inline bool bpf_lsm_is_sleepable_hook(u32 btf_id) in bpf_lsm_is_sleepable_hook() argument
|
D | btf.h | 77 u32 btf_id; member 417 s32 btf_find_dtor_kfunc(struct btf *btf, u32 btf_id); 442 static inline s32 btf_find_dtor_kfunc(struct btf *btf, u32 btf_id) in btf_find_dtor_kfunc() argument
|
/Linux-v6.1/tools/lib/bpf/ |
D | linker.c | 86 int btf_id; member 1570 struct src_obj *obj, Elf64_Sym *sym, int btf_id) in glob_map_defs_match() argument 1577 t = btf__type_by_id(obj->btf, btf_id); in glob_map_defs_match() 1579 pr_warn("global '%s': invalid map definition type [%d]\n", sym_name, btf_id); in glob_map_defs_match() 1591 t = btf__type_by_id(linker->btf, glob_sym->btf_id); in glob_map_defs_match() 1610 struct src_obj *obj, Elf64_Sym *sym, size_t sym_idx, int btf_id) in glob_syms_match() argument 1617 if (!glob_sym->btf_id || !btf_id) { in glob_syms_match() 1622 src_t = btf__type_by_id(obj->btf, btf_id); in glob_syms_match() 1631 return glob_map_defs_match(sym_name, linker, glob_sym, obj, sym, btf_id); in glob_syms_match() 1634 linker->btf, glob_sym->btf_id, obj->btf, btf_id)) in glob_syms_match() [all …]
|
/Linux-v6.1/kernel/bpf/preload/iterators/ |
D | iterators.bpf.c | 59 static const char *get_name(struct btf *btf, long btf_id, const char *fallback) in get_name() argument 69 bpf_probe_read_kernel(&t, sizeof(t), types + btf_id); in get_name()
|
/Linux-v6.1/kernel/bpf/ |
D | bpf_iter.c | 13 u32 btf_id; /* cached value */ member 336 tinfo->btf_id = prog->aux->attach_btf_id; in cache_btf_id() 352 if (iter->btf_id && iter->btf_id == prog_btf_id) { in bpf_iter_prog_supported() 380 if (tinfo->btf_id == prog->aux->attach_btf_id) { in bpf_iter_get_func_proto() 541 if (iter->btf_id == prog_btf_id) { in bpf_iter_link_attach()
|
D | task_iter.c | 834 task_reg_info.ctx_arg_info[0].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_TASK]; in task_iter_init() 839 task_file_reg_info.ctx_arg_info[0].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_TASK]; in task_iter_init() 840 task_file_reg_info.ctx_arg_info[1].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_FILE]; in task_iter_init() 845 task_vma_reg_info.ctx_arg_info[0].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_TASK]; in task_iter_init() 846 task_vma_reg_info.ctx_arg_info[1].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_VMA]; in task_iter_init()
|
D | btf.c | 3505 tab->off[i].kptr.btf_id = id; in btf_parse_kptrs() 5489 if (!ctx_arg_info->btf_id) { in btf_ctx_access() 5496 info->btf_id = ctx_arg_info->btf_id; in btf_ctx_access() 5513 info->btf_id = ret; in btf_ctx_access() 5521 info->btf_id = t->type; in btf_ctx_access() 5534 info->btf_id = t->type; in btf_ctx_access() 5544 tname, arg, info->btf_id, btf_type_str(t), in btf_ctx_access() 5894 static int __get_type_size(struct btf *btf, u32 btf_id, in __get_type_size() argument 5900 if (!btf_id) in __get_type_size() 5903 t = btf_type_by_id(btf, btf_id); in __get_type_size() [all …]
|
D | link_iter.c | 103 bpf_link_reg_info.ctx_arg_info[0].btf_id = *btf_bpf_link_id; in bpf_link_iter_init()
|
D | prog_iter.c | 103 bpf_prog_reg_info.ctx_arg_info[0].btf_id = *btf_bpf_prog_id; in bpf_prog_iter_init()
|
D | bpf_lsm.c | 346 bool bpf_lsm_is_sleepable_hook(u32 btf_id) in BTF_ID() 348 return btf_id_set_contains(&sleepable_lsm_hooks, btf_id); in BTF_ID()
|
D | verifier.c | 261 u32 btf_id; member 868 verbose(env, "%s", kernel_type_name(reg->btf, reg->btf_id)); in print_verifier_state() 1732 struct btf *btf, u32 btf_id, in mark_btf_ld_reg() argument 1742 regs[regno].btf_id = btf_id; in mark_btf_ld_reg() 3689 const char *targ_name = kernel_type_name(off_desc->kptr.btf, off_desc->kptr.btf_id); in map_kptr_match_type() 3705 reg_name = kernel_type_name(reg->btf, reg->btf_id); in map_kptr_match_type() 3740 if (!btf_struct_ids_match(&env->log, reg->btf, reg->btf_id, reg->off, in map_kptr_match_type() 3741 off_desc->kptr.btf, off_desc->kptr.btf_id, in map_kptr_match_type() 3791 off_desc->kptr.btf_id, PTR_MAYBE_NULL | PTR_UNTRUSTED); in check_map_kptr_access() 3973 struct btf **btf, u32 *btf_id) in check_ctx_access() argument [all …]
|
/Linux-v6.1/net/ipv4/ |
D | bpf_tcp_ca.c | 64 if (info->reg_type == PTR_TO_BTF_ID && info->btf_id == sock_id) in bpf_tcp_ca_is_valid_access() 66 info->btf_id = tcp_sock_id; in bpf_tcp_ca_is_valid_access()
|
/Linux-v6.1/kernel/trace/ |
D | bpf_trace.c | 84 s32 *btf_id); 528 s32 btf_id; in BPF_CALL_4() local 531 ret = bpf_btf_printf_prepare(ptr, btf_ptr_size, flags, &btf, &btf_id); in BPF_CALL_4() 535 return btf_type_seq_show_flags(btf, btf_id, ptr->ptr, m, flags); in BPF_CALL_4() 966 s32 *btf_id) in bpf_btf_printf_prepare() argument 982 *btf_id = ptr->type_id; in bpf_btf_printf_prepare() 986 if (*btf_id > 0) in bpf_btf_printf_prepare() 987 t = btf_type_by_id(*btf, *btf_id); in bpf_btf_printf_prepare() 988 if (*btf_id <= 0 || !t) in bpf_btf_printf_prepare() 998 s32 btf_id; in BPF_CALL_5() local [all …]
|
/Linux-v6.1/net/core/ |
D | bpf_sk_storage.c | 392 u32 btf_id; in bpf_sk_storage_tracing_allowed() local 411 btf_id = prog->aux->attach_btf_id; in bpf_sk_storage_tracing_allowed() 412 t = btf_type_by_id(btf_vmlinux, btf_id); in bpf_sk_storage_tracing_allowed() 958 bpf_sk_storage_map_reg_info.ctx_arg_info[0].btf_id = in bpf_sk_storage_map_iter_init()
|
/Linux-v6.1/tools/testing/selftests/bpf/ |
D | test_verifier.c | 1111 int btf_id; in do_test_fixup() local 1114 btf_id = 0; in do_test_fixup() 1117 btf_id = btf__find_by_name_kind(btf, in do_test_fixup() 1120 btf_id = btf_id < 0 ? 0 : btf_id; in do_test_fixup() 1123 prog[fixup_kfunc_btf_id->insn_idx].imm = btf_id; in do_test_fixup()
|