Home
last modified time | relevance | path

Searched refs:btf_id (Results 1 – 25 of 63) sorted by relevance

123

/linux/tools/testing/selftests/bpf/prog_tests/
H A Dmodule_fentry_shadow.c62 __s32 btf_id[2] = {}; in test_module_fentry_shadow() local
90 btf_id[0] = btf__find_by_name_kind(vmlinux_btf, symbol_name, BTF_KIND_FUNC); in test_module_fentry_shadow()
91 if (!ASSERT_GT(btf_id[0], 0, "btf_find_by_name")) in test_module_fentry_shadow()
94 btf_id[1] = btf__find_by_name_kind(mod_btf, symbol_name, BTF_KIND_FUNC); in test_module_fentry_shadow()
95 if (!ASSERT_GT(btf_id[1], 0, "btf_find_by_name")) in test_module_fentry_shadow()
99 load_opts.attach_btf_id = btf_id[i]; in test_module_fentry_shadow()
H A Dfexit_bpf2bpf.c115 __s32 btf_id; in test_fexit_bpf2bpf_common() local
120 btf_id = btf__find_by_name_kind(btf, tgt_name + 1, BTF_KIND_FUNC); in test_fexit_bpf2bpf_common()
146 ASSERT_EQ(link_info.tracing.target_btf_id, btf_id, "link_tgt_btf_id"); in test_fexit_bpf2bpf_common()
446 if (!info.btf_id) in find_prog_btf_id()
449 btf = btf__load_from_kernel_by_id(info.btf_id); in find_prog_btf_id()
486 int btf_id; in test_fentry_to_cgroup_bpf() local
500 btf_id = find_prog_btf_id("bind_v4_prog", bpf_program__fd(skel->progs.bind_v4_prog)); in test_fentry_to_cgroup_bpf()
501 if (!ASSERT_GE(btf_id, 0, "find_prog_btf_id")) in test_fentry_to_cgroup_bpf()
504 fentry_fd = load_fentry(bpf_program__fd(skel->progs.bind_v4_prog), btf_id); in test_fentry_to_cgroup_bpf()
515 ASSERT_EQ(info.btf_id, 0, "info.btf_id"); in test_fentry_to_cgroup_bpf()
[all …]
H A Dctx_rewrite.c249 static int find_field_offset_aux(struct btf *btf, int btf_id, char *field_name, int off) in find_field_offset_aux() argument
251 const struct btf_type *type = btf__type_by_id(btf, btf_id); in find_field_offset_aux()
257 PRINT_FAIL("Can't find btf_type for id %d\n", btf_id); in find_field_offset_aux()
262 PRINT_FAIL("BTF id %d is not struct or union\n", btf_id); in find_field_offset_aux()
296 int btf_id, field_offset; in find_field_offset() local
310 btf_id = btf__find_by_name(btf, type_str); in find_field_offset()
311 if (btf_id < 0) { in find_field_offset()
316 field_offset = find_field_offset_aux(btf, btf_id, field_str, 0); in find_field_offset()
/linux/tools/perf/util/
H A Dbpf-event.c97 u32 btf_id, in perf_env__fetch_btf() argument
110 node->id = btf_id; in perf_env__fetch_btf()
232 btf = btf__load_from_kernel_by_id(info->btf_id); in perf_event__synthesize_one_bpf_prog()
238 perf_env__fetch_btf(env, info->btf_id, btf); in perf_event__synthesize_one_bpf_prog()
457 u32 btf_id; in perf_env__add_bpf_info() local
478 btf_id = info_linear->info.btf_id; in perf_env__add_bpf_info()
487 if (btf_id == 0) in perf_env__add_bpf_info()
490 btf = btf__load_from_kernel_by_id(btf_id); in perf_env__add_bpf_info()
493 __func__, btf_id); in perf_env__add_bpf_info()
496 perf_env__fetch_btf(env, btf_id, btf); in perf_env__add_bpf_info()
[all …]
H A Denv.c98 __u32 btf_id = btf_node->id; in __perf_env__insert_btf() local
107 if (btf_id < node->id) { in __perf_env__insert_btf()
109 } else if (btf_id > node->id) { in __perf_env__insert_btf()
112 pr_debug("duplicated btf %u\n", btf_id); in __perf_env__insert_btf()
123 struct btf_node *perf_env__find_btf(struct perf_env *env, __u32 btf_id) in perf_env__find_btf() argument
128 res = __perf_env__find_btf(env, btf_id); in perf_env__find_btf()
133 struct btf_node *__perf_env__find_btf(struct perf_env *env, __u32 btf_id) in __perf_env__find_btf() argument
142 if (btf_id < node->id) in __perf_env__find_btf()
144 else if (btf_id > node->id) in __perf_env__find_btf()
H A Denv.h187 struct btf_node *perf_env__find_btf(struct perf_env *env, __u32 btf_id);
188 struct btf_node *__perf_env__find_btf(struct perf_env *env, __u32 btf_id);
/linux/tools/bpf/bpftool/
H A Dbtf.c531 btf_fd = bpf_btf_get_fd_by_id(btf_id); in btf_is_kernel_module()
556 __u32 btf_id = -1; in do_dump() local
579 btf_id = info.btf_id; in do_dump()
615 btf_id = info.btf_id; in do_dump()
619 btf_id = strtoul(*argv, &endptr, 0); in do_dump()
742 __u32 btf_id, id = 0; in build_btf_type_table() local
805 btf_id = ((struct bpf_prog_info *)info)->btf_id; in build_btf_type_table()
808 btf_id = ((struct bpf_map_info *)info)->btf_id; in build_btf_type_table()
815 if (!btf_id) in build_btf_type_table()
818 err = hashmap__append(tab, btf_id, id); in build_btf_type_table()
[all …]
H A Dmap.c521 if (info->btf_id) in show_map_close_json()
522 jsonw_int_field(json_wtr, "btf_id", info->btf_id); in show_map_close_json()
614 if (info->btf_id || frozen) in show_map_close_plain()
617 if (info->btf_id) in show_map_close_plain()
618 printf("btf_id %d", info->btf_id); in show_map_close_plain()
621 printf("%sfrozen", info->btf_id ? " " : ""); in show_map_close_plain()
781 if (!info.btf_id) in maps_have_btf()
804 *btf = btf__load_from_kernel_by_id(info->btf_id); in get_map_kv_btf()
H A Dprog.c324 btf = btf__load_from_kernel_by_id(map_info.btf_id); in show_prog_metadata()
482 if (info->btf_id) in print_prog_json()
483 jsonw_int_field(json_wtr, "btf_id", info->btf_id); in print_prog_json()
571 if (info->btf_id) in print_prog_plain()
572 printf("\n\tbtf_id %d", info->btf_id); in print_prog_plain()
731 if (info->btf_id) { in prog_dump()
732 btf = btf__load_from_kernel_by_id(info->btf_id); in prog_dump()
2213 if (info.btf_id == 0) { in profile_target_name()
2235 btf = btf__load_from_kernel_by_id(info.btf_id); in profile_target_name()
2244 info.btf_id, func_info.type_id); in profile_target_name()
/linux/tools/bpf/resolve_btfids/
H A Dmain.c101 struct btf_id { struct
180 struct btf_id *id; in btf_id__find()
184 id = rb_entry(p, struct btf_id, rb_node); in btf_id__find()
196 static struct btf_id *
201 struct btf_id *id; in btf_id__add()
206 id = rb_entry(parent, struct btf_id, rb_node); in btf_id__add()
443 struct btf_id *id; in symbols_collect()
561 struct btf_id *id; in symbols_resolve()
646 struct btf_id *id; in __symbols_patch()
650 id = rb_entry(next, struct btf_id, rb_node); in __symbols_patch()
[all …]
/linux/include/linux/
H A Dbpf_verifier.h97 u32 btf_id; member
123 u32 btf_id; member
538 u32 btf_id; /* btf_id for struct typed var */ member
624 u32 btf_id; member
804 struct btf *btf, u32 btf_id) in bpf_trampoline_compute_key() argument
807 return ((u64)tgt_prog->aux->id << 32) | btf_id; in bpf_trampoline_compute_key()
809 return ((u64)btf_obj_id(btf) << 32) | 0x80000000 | btf_id; in bpf_trampoline_compute_key()
817 if (btf_id) in bpf_trampoline_unpack_key()
818 *btf_id = key & 0x7FFFFFFF; in bpf_trampoline_unpack_key()
824 u32 btf_id,
[all …]
H A Dbpf_lsm.h30 bool bpf_lsm_is_sleepable_hook(u32 btf_id);
50 static inline bool bpf_lsm_is_sleepable_hook(u32 btf_id) in bpf_lsm_is_sleepable_hook() argument
H A Dbtf.h124 u32 btf_id; member
129 u32 btf_id; member
530 s32 btf_find_dtor_kfunc(struct btf *btf, u32 btf_id);
533 struct btf_struct_meta *btf_find_struct_meta(const struct btf *btf, u32 btf_id);
563 static inline s32 btf_find_dtor_kfunc(struct btf *btf, u32 btf_id) in btf_find_dtor_kfunc() argument
572 static inline struct btf_struct_meta *btf_find_struct_meta(const struct btf *btf, u32 btf_id) in btf_find_struct_meta() argument
/linux/tools/lib/bpf/
H A Dlinker.c86 int btf_id; member
1648 if (!glob_sym->btf_id || !btf_id) { in glob_syms_match()
1665 linker->btf, glob_sym->btf_id, obj->btf, btf_id)) in glob_syms_match()
1680 int i, j, n, m, btf_id = 0; in find_glob_sym_btf() local
1703 btf_id = i; in find_glob_sym_btf()
1722 if (btf_id && btf_id != vi->type) { in find_glob_sym_btf()
1736 if (btf_id) { in find_glob_sym_btf()
1738 *out_btf_id = btf_id; in find_glob_sym_btf()
2020 glob_sym->btf_id = 0; in linker_append_elf_sym()
2301 if (glob_sym->btf_id) { in linker_append_btf()
[all …]
/linux/kernel/bpf/preload/iterators/
H A Diterators.bpf.c59 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/kernel/bpf/
H A Dverifier.c280 u32 btf_id; member
1037 st->iter.btf_id = btf_id; in mark_stack_slots_iter()
1129 if (st->iter.btf != btf || st->iter.btf_id != btf_id) in is_iter_reg_valid_init()
2370 regs[regno].btf_id = btf_id; in mark_btf_ld_reg()
5594 *btf_id = info.btf_id; in check_ctx_access()
6618 u32 btf_id; in check_ptr_to_map_access() local
6899 regs[value_regno].btf_id = btf_id; in check_mem_access()
7824 u32 btf_id; in process_iter_arg() local
15371 dst_reg->btf_id = aux->btf_var.btf_id; in check_ld_imm()
20815 reg->btf_id = arg->btf_id; in do_check_common()
[all …]
H A Dbpf_iter.c13 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()
H A Dlog.c509 const char *iter_type_str(const struct btf *btf, u32 btf_id) in iter_type_str() argument
511 if (!btf || btf_id == 0) in iter_type_str()
515 return btf_type_name(btf, btf_id) + sizeof(ITER_PREFIX) - 1; in iter_type_str()
708 verbose(env, "%s", btf_type_name(reg->btf, reg->btf_id)); in print_reg_state()
832 iter_type_str(reg->iter.btf, reg->iter.btf_id), in print_verifier_state()
H A Dtask_iter.c1062 task_reg_info.ctx_arg_info[0].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_TASK]; in task_iter_init()
1067 task_file_reg_info.ctx_arg_info[0].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_TASK]; in task_iter_init()
1068 task_file_reg_info.ctx_arg_info[1].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_FILE]; in task_iter_init()
1073 task_vma_reg_info.ctx_arg_info[0].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_TASK]; in task_iter_init()
1074 task_vma_reg_info.ctx_arg_info[1].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_VMA]; in task_iter_init()
H A Dprog_iter.c103 bpf_prog_reg_info.ctx_arg_info[0].btf_id = *btf_bpf_prog_id; in bpf_prog_iter_init()
H A Dlink_iter.c103 bpf_link_reg_info.ctx_arg_info[0].btf_id = *btf_bpf_link_id; in bpf_link_iter_init()
/linux/tools/testing/selftests/bpf/
H A Dtest_verifier.c977 int btf_id = 0; in fixup_prog_kfuncs() local
982 btf_id = btf__find_by_name_kind(vmlinux_btf, in fixup_prog_kfuncs()
985 btf_id = btf_id < 0 ? 0 : btf_id; in fixup_prog_kfuncs()
989 if (!btf_id) { in fixup_prog_kfuncs()
992 btf_id = btf__find_by_name_kind(testmod_btf, in fixup_prog_kfuncs()
995 btf_id = btf_id < 0 ? 0 : btf_id; in fixup_prog_kfuncs()
996 if (btf_id) { in fixup_prog_kfuncs()
1006 prog[fixup_kfunc_btf_id->insn_idx].imm = btf_id; in fixup_prog_kfuncs()
H A Dbpf_kfuncs.h66 extern void *bpf_rdonly_cast(const void *obj, __u32 btf_id) __ksym __weak;
/linux/net/ipv4/
H A Dbpf_tcp_ca.c70 info->btf_id == sock_id) in bpf_tcp_ca_is_valid_access()
72 info->btf_id = tcp_sock_id; in bpf_tcp_ca_is_valid_access()
84 t = btf_type_by_id(reg->btf, reg->btf_id); in bpf_tcp_ca_btf_struct_access()
/linux/net/core/
H A Dbpf_sk_storage.c358 u32 btf_id; in bpf_sk_storage_tracing_allowed() local
377 btf_id = prog->aux->attach_btf_id; in bpf_sk_storage_tracing_allowed()
378 t = btf_type_by_id(btf_vmlinux, btf_id); in bpf_sk_storage_tracing_allowed()
922 bpf_sk_storage_map_reg_info.ctx_arg_info[0].btf_id = in bpf_sk_storage_map_iter_init()

123