Home
last modified time | relevance | path

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

123

/linux/tools/testing/selftests/bpf/prog_tests/
H A Dmodule_fentry_shadow.c63 __s32 btf_id[2] = {}; in test_module_fentry_shadow() local
91 btf_id[0] = btf__find_by_name_kind(vmlinux_btf, symbol_name, BTF_KIND_FUNC); in test_module_fentry_shadow()
92 if (!ASSERT_GT(btf_id[0], 0, "btf_find_by_name")) in test_module_fentry_shadow()
95 btf_id[1] = btf__find_by_name_kind(mod_btf, symbol_name, BTF_KIND_FUNC); in test_module_fentry_shadow()
96 if (!ASSERT_GT(btf_id[1], 0, "btf_find_by_name")) in test_module_fentry_shadow()
100 load_opts.attach_btf_id = btf_id[i]; in test_module_fentry_shadow()
H A Dfexit_bpf2bpf.c116 __s32 btf_id; in test_fexit_bpf2bpf_common() local
121 btf_id = btf__find_by_name_kind(btf, tgt_name + 1, BTF_KIND_FUNC); in test_fexit_bpf2bpf_common()
147 ASSERT_EQ(link_info.tracing.target_btf_id, btf_id, "link_tgt_btf_id"); in test_fexit_bpf2bpf_common()
455 if (!info.btf_id) in find_prog_btf_id()
458 btf = btf__load_from_kernel_by_id(info.btf_id); in find_prog_btf_id()
495 int btf_id; in test_fentry_to_cgroup_bpf() local
509 btf_id = find_prog_btf_id("bind_v4_prog", bpf_program__fd(skel->progs.bind_v4_prog)); in test_fentry_to_cgroup_bpf()
510 if (!ASSERT_GE(btf_id, 0, "find_prog_btf_id")) in test_fentry_to_cgroup_bpf()
513 fentry_fd = load_fentry(bpf_program__fd(skel->progs.bind_v4_prog), btf_id); in test_fentry_to_cgroup_bpf()
524 ASSERT_EQ(info.btf_id, 0, "info.btf_id"); in test_fentry_to_cgroup_bpf()
[all …]
H A Dtracing_failure.c60 int btf_id; in test_tracing_deny() local
63 btf_id = libbpf_find_vmlinux_btf_id("__rcu_read_lock", BPF_TRACE_FENTRY); in test_tracing_deny()
64 if (btf_id <= 0) { in test_tracing_deny()
H A Dctx_rewrite.c252 static int find_field_offset_aux(struct btf *btf, int btf_id, char *field_name, int off) in find_field_offset_aux() argument
254 const struct btf_type *type = btf__type_by_id(btf, btf_id); in find_field_offset_aux()
259 PRINT_FAIL("Can't find btf_type for id %d\n", btf_id); in find_field_offset_aux()
264 PRINT_FAIL("BTF id %d is not struct or union\n", btf_id); in find_field_offset_aux()
298 int btf_id, field_offset; in find_field_offset()
314 btf_id = btf__find_by_name(btf, type_str); in find_field_offset()
315 if (btf_id < 0) { in find_field_offset()
320 field_offset = find_field_offset_aux(btf, btf_id, field_str, 0); in find_field_offset()
299 int btf_id, field_offset; find_field_offset() local
H A Dfd_array.c302 __u32 btf_id; in check_fd_array_cnt__referenced_btfs() local
314 err = get_btf_id_by_fd(extra_fds[0], &btf_id); in check_fd_array_cnt__referenced_btfs()
323 if (!ASSERT_EQ(btf_exists(btf_id), true, "btf should exist")) in check_fd_array_cnt__referenced_btfs()
333 if (!btf_exists(btf_id)) in check_fd_array_cnt__referenced_btfs()
/linux/tools/bpf/resolve_btfids/
H A Dmain.c121 struct btf_id { struct
191 u32 btf_id; member
267 static struct btf_id *btf_id__find(struct rb_root *root, const char *name) in btf_id__find()
270 struct btf_id *id; in btf_id__find()
274 id = rb_entry(p, struct btf_id, rb_node); in btf_id__find()
286 static struct btf_id *__btf_id__add(struct rb_root *root, in __btf_id__add()
293 struct btf_id *id; in __btf_id__add()
298 id = rb_entry(parent, struct btf_id, rb_node); in __btf_id__add()
323 static inline struct btf_id *btf_id__add(struct rb_root *root, in btf_id__add()
330 static inline struct btf_id *btf_id__add_unique(struct rb_root *root, in btf_id__add_unique()
[all …]
/linux/include/linux/
H A Dbpf_lsm.h33 bool bpf_lsm_is_sleepable_hook(u32 btf_id);
57 bool bpf_lsm_hook_returns_errno(u32 btf_id);
63 static inline bool bpf_lsm_is_sleepable_hook(u32 btf_id) in bpf_lsm_is_sleepable_hook() argument
113 static inline bool bpf_lsm_hook_returns_errno(u32 btf_id) in bpf_lsm_hook_returns_errno() argument
H A Dbpf_verifier.h66 u32 btf_id; member
91 u32 btf_id; member
658 u32 btf_id; /* btf_id for struct typed var */ member
794 u32 btf_id; member
1183 struct btf *btf, u32 btf_id) in bpf_trampoline_compute_key() argument
1186 return ((u64)tgt_prog->aux->id << 32) | btf_id; in bpf_trampoline_compute_key()
1188 return ((u64)btf_obj_id(btf) << 32) | 0x80000000 | btf_id; in bpf_trampoline_compute_key()
1192 static inline void bpf_trampoline_unpack_key(u64 key, u32 *obj_id, u32 *btf_id) in bpf_trampoline_unpack_key() argument
1196 if (btf_id) in bpf_trampoline_unpack_key()
1197 *btf_id = key & 0x7FFFFFFF; in bpf_trampoline_unpack_key()
[all …]
H A Dbtf.h130 u32 btf_id; member
135 u32 btf_id; member
593 s32 btf_find_dtor_kfunc(struct btf *btf, u32 btf_id);
596 struct btf_struct_meta *btf_find_struct_meta(const struct btf *btf, u32 btf_id);
660 static inline s32 btf_find_dtor_kfunc(struct btf *btf, u32 btf_id) in btf_find_dtor_kfunc() argument
669 static inline struct btf_struct_meta *btf_find_struct_meta(const struct btf *btf, u32 btf_id) in btf_find_struct_meta() argument
/linux/kernel/bpf/
H A Dbpf_lsm.c122 u32 btf_id = prog->aux->attach_btf_id; in bpf_lsm_verify_prog() local
131 if (btf_id_set_contains(&bpf_lsm_disabled_hooks, btf_id)) { in bpf_lsm_verify_prog()
133 btf_id, func_name); in bpf_lsm_verify_prog()
137 if (!btf_id_set_contains(&bpf_lsm_hooks, btf_id)) { in bpf_lsm_verify_prog()
139 btf_id, func_name); in bpf_lsm_verify_prog()
403 bool bpf_lsm_is_sleepable_hook(u32 btf_id) in BTF_ID()
405 return btf_id_set_contains(&sleepable_lsm_hooks, btf_id); in BTF_ID()
443 bool bpf_lsm_hook_returns_errno(u32 btf_id) in BTF_ID()
445 if (btf_id_set_contains(&bool_lsm_hooks, btf_id)) in BTF_ID()
447 if (btf_id_set_contains(&void_lsm_hooks, btf_id)) in BTF_ID()
H A Dverifier.c383 meta = btf_find_struct_meta(reg->btf, reg->btf_id); in reg_btf_record()
401 u32 btf_id; in subprog_returns_void() local
403 btf_id = env->prog->aux->func_info[subprog].type_id; in subprog_returns_void()
405 func = btf_type_by_id(btf, btf_id); in subprog_returns_void()
406 if (verifier_bug_if(!func, env, "btf_id %u not found", btf_id)) in subprog_returns_void()
487 static bool is_sync_callback_calling_kfunc(u32 btf_id);
488 static bool is_async_callback_calling_kfunc(u32 btf_id);
489 static bool is_callback_calling_kfunc(u32 btf_id);
491 static bool is_bpf_wq_set_callback_kfunc(u32 btf_id);
936 mark_stack_slots_iter(struct bpf_verifier_env * env,struct bpf_call_arg_meta * meta,struct bpf_reg_state * reg,int insn_idx,struct btf * btf,u32 btf_id,int nr_slots) mark_stack_slots_iter() argument
1032 is_iter_reg_valid_init(struct bpf_verifier_env * env,struct bpf_reg_state * reg,struct btf * btf,u32 btf_id,int nr_slots) is_iter_reg_valid_init() argument
2247 mark_btf_ld_reg(struct bpf_verifier_env * env,struct bpf_reg_state * regs,u32 regno,enum bpf_reg_type reg_type,struct btf * btf,u32 btf_id,enum bpf_type_flag flag) mark_btf_ld_reg() argument
5941 type_is_rcu(struct bpf_verifier_env * env,struct bpf_reg_state * reg,const char * field_name,u32 btf_id) type_is_rcu() argument
5953 type_is_rcu_or_null(struct bpf_verifier_env * env,struct bpf_reg_state * reg,const char * field_name,u32 btf_id) type_is_rcu_or_null() argument
5964 type_is_trusted(struct bpf_verifier_env * env,struct bpf_reg_state * reg,const char * field_name,u32 btf_id) type_is_trusted() argument
5976 type_is_trusted_or_null(struct bpf_verifier_env * env,struct bpf_reg_state * reg,const char * field_name,u32 btf_id) type_is_trusted_or_null() argument
5996 u32 btf_id = 0; check_ptr_to_btf_access() local
6167 u32 btf_id; check_ptr_to_map_access() local
7754 int spi, err, i, nr_slots, btf_id; process_iter_arg() local
8136 u32 *btf_id; global() member
9831 u32 btf_id; btf_check_subprog_call() local
12382 is_bpf_list_api_kfunc(u32 btf_id) is_bpf_list_api_kfunc() argument
12395 is_bpf_rbtree_api_kfunc(u32 btf_id) is_bpf_rbtree_api_kfunc() argument
12405 is_bpf_res_spin_lock_kfunc(u32 btf_id) is_bpf_res_spin_lock_kfunc() argument
12425 is_sync_callback_calling_kfunc(u32 btf_id) is_sync_callback_calling_kfunc() argument
12430 is_async_callback_calling_kfunc(u32 btf_id) is_async_callback_calling_kfunc() argument
12442 is_bpf_wq_set_callback_kfunc(u32 btf_id) is_bpf_wq_set_callback_kfunc() argument
12447 is_callback_calling_kfunc(u32 btf_id) is_callback_calling_kfunc() argument
12453 is_rbtree_lock_required_kfunc(u32 btf_id) is_rbtree_lock_required_kfunc() argument
19784 u32 btf_id, member_idx, member_off; check_struct_ops_btf_id() local
19922 check_attach_sleepable(u32 btf_id,unsigned long addr,const char * func_name) check_attach_sleepable() argument
19972 check_attach_sleepable(u32 btf_id,unsigned long addr,const char * func_name) check_attach_sleepable() argument
19991 is_tracing_multi_id(const struct bpf_prog * prog,u32 btf_id) is_tracing_multi_id() argument
19996 btf_id_allow_sleepable(u32 btf_id,unsigned long addr,const struct bpf_prog * prog,const struct btf * btf) btf_id_allow_sleepable() argument
20106 bpf_check_attach_target(struct bpf_verifier_log * log,const struct bpf_prog * prog,const struct bpf_prog * tgt_prog,u32 btf_id,struct bpf_attach_target_info * tgt_info) bpf_check_attach_target() argument
20531 u32 btf_id = prog->aux->attach_btf_id; check_attach_btf_id() local
20626 bpf_check_attach_btf_id_multi(struct btf * btf,struct bpf_prog * prog,u32 btf_id,struct bpf_attach_target_info * tgt_info) bpf_check_attach_btf_id_multi() argument
[all...]
H A Dbpf_iter.c13 u32 btf_id; /* cached value */ member
334 tinfo->btf_id = prog->aux->attach_btf_id; in cache_btf_id()
350 if (iter->btf_id && iter->btf_id == prog_btf_id) { in bpf_iter_prog_supported()
377 if (tinfo->btf_id == prog->aux->attach_btf_id) { in bpf_iter_get_func_proto()
538 if (iter->btf_id == prog_btf_id) { in bpf_iter_link_attach()
H A Dbtf.c4053 field->kptr.btf_id = id; in btf_parse_kptr()
4281 u32 btf_id; in btf_check_and_fixup_fields() local
4290 rec->fields[i].kptr.btf_id); in btf_check_and_fixup_fields()
4300 btf_id = rec->fields[i].graph_root.value_btf_id; in btf_check_and_fixup_fields()
4301 meta = btf_find_struct_meta(btf, btf_id); in btf_check_and_fixup_fields()
4313 u32 btf_id; in btf_owned_type_idx() local
4316 btf_id = field->graph_root.value_btf_id; in btf_owned_type_idx()
4320 btf_id = field->kptr.btf_id; in btf_owned_type_idx()
4325 meta = btf_find_struct_meta(btf, btf_id); in btf_owned_type_idx()
5928 type->btf_id = i; in btf_parse_struct_metas()
[all …]
H A Dlog.c473 const char *iter_type_str(const struct btf *btf, u32 btf_id) in iter_type_str() argument
475 if (!btf || btf_id == 0) in iter_type_str()
479 return btf_type_name(btf, btf_id) + sizeof(ITER_PREFIX) - 1; in iter_type_str()
651 verbose(env, "%s", btf_type_name(reg->btf, reg->btf_id)); in print_reg_state()
771 iter_type_str(reg->iter.btf, reg->iter.btf_id), in print_verifier_state()
H A Dtask_iter.c1212 task_reg_info.ctx_arg_info[0].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_TASK]; in task_iter_init()
1217 task_file_reg_info.ctx_arg_info[0].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_TASK]; in task_iter_init()
1218 task_file_reg_info.ctx_arg_info[1].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_FILE]; in task_iter_init()
1223 task_vma_reg_info.ctx_arg_info[0].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_TASK]; in task_iter_init()
1224 task_vma_reg_info.ctx_arg_info[1].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_VMA]; in task_iter_init()
/linux/tools/perf/util/
H A Dbpf-event.c109 u32 btf_id, in perf_env__fetch_btf()
122 node->id = btf_id; in perf_env__fetch_btf()
221 btf = btf__load_from_kernel_by_id(map_info.btf_id); in bpf_metadata_read_map_data()
610 if (info->btf_id && info->nr_func_info && info->func_info_rec_size) { in perf_event__synthesize_one_bpf_prog()
617 btf = btf__load_from_kernel_by_id(info->btf_id); in perf_event__synthesize_one_bpf_prog()
619 pr_debug("%s: failed to get BTF of id %u, aborting\n", __func__, info->btf_id); in perf_event__synthesize_one_bpf_prog()
623 perf_env__fetch_btf(env, info->btf_id, btf); in perf_event__synthesize_one_bpf_prog()
859 u32 btf_id; in perf_env__add_bpf_info()
882 btf_id = info_linear->info.btf_id; in perf_env__add_bpf_info()
105 perf_env__fetch_btf(struct perf_env * env,u32 btf_id,struct btf * btf) perf_env__fetch_btf() argument
840 u32 btf_id; perf_env__add_bpf_info() local
[all...]
H A Denv.c121 __u32 btf_id = btf_node->id; in __perf_env__insert_btf()
130 if (btf_id < node->id) { in __perf_env__insert_btf()
132 } else if (btf_id > node->id) { in __perf_env__insert_btf()
135 pr_debug("duplicated btf %u\n", btf_id); in __perf_env__insert_btf()
146 struct btf_node *perf_env__find_btf(struct perf_env *env, __u32 btf_id) in perf_env__find_btf()
151 res = __perf_env__find_btf(env, btf_id); in perf_env__find_btf()
156 struct btf_node *__perf_env__find_btf(struct perf_env *env, __u32 btf_id) in __perf_env__find_btf()
165 if (btf_id < node->id) in __perf_env__find_btf()
167 else if (btf_id > node->id) in __perf_env__find_btf()
119 __u32 btf_id = btf_node->id; __perf_env__insert_btf() local
144 perf_env__find_btf(struct perf_env * env,__u32 btf_id) perf_env__find_btf() argument
154 __perf_env__find_btf(struct perf_env * env,__u32 btf_id) __perf_env__find_btf() argument
H A Denv.h227 struct btf_node *perf_env__find_btf(struct perf_env *env, __u32 btf_id);
228 struct btf_node *__perf_env__find_btf(struct perf_env *env, __u32 btf_id);
/linux/tools/bpf/bpftool/
H A Dbtf.c849 static bool btf_is_kernel_module(__u32 btf_id) in btf_is_kernel_module() argument
857 btf_fd = bpf_btf_get_fd_by_id(btf_id); in btf_is_kernel_module()
859 p_err("can't get BTF object by id (%u): %s", btf_id, strerror(errno)); in btf_is_kernel_module()
869 p_err("can't get BTF (ID %u) object info: %s", btf_id, strerror(errno)); in btf_is_kernel_module()
922 __u32 btf_id = -1; in do_dump() local
947 btf_id = info.btf_id; in do_dump()
983 btf_id = info.btf_id; in do_dump()
987 btf_id = strtoul(*argv, &endptr, 0); in do_dump()
1133 if (!base_btf && btf_is_kernel_module(btf_id)) { in do_dump()
1139 btf = btf__load_from_kernel_by_id_split(btf_id, base_btf); in do_dump()
[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 %u", info->btf_id); in show_map_close_plain()
621 printf("%sfrozen", info->btf_id ? " " : ""); in show_map_close_plain()
782 if (!info.btf_id) in maps_have_btf()
811 *btf = btf__load_from_kernel_by_id(info->btf_id); in get_map_kv_btf()
/linux/tools/lib/bpf/
H A Dlinker.c91 int btf_id; member
1766 struct src_obj *obj, Elf64_Sym *sym, int btf_id) in glob_map_defs_match() argument
1773 t = btf__type_by_id(obj->btf, btf_id); in glob_map_defs_match()
1775 pr_warn("global '%s': invalid map definition type [%d]\n", sym_name, btf_id); in glob_map_defs_match()
1787 t = btf__type_by_id(linker->btf, glob_sym->btf_id); in glob_map_defs_match()
1806 struct src_obj *obj, Elf64_Sym *sym, size_t sym_idx, int btf_id) in glob_syms_match() argument
1813 if (!glob_sym->btf_id || !btf_id) { in glob_syms_match()
1818 src_t = btf__type_by_id(obj->btf, btf_id); in glob_syms_match()
1827 return glob_map_defs_match(sym_name, linker, glob_sym, obj, sym, btf_id); in glob_syms_match()
1830 linker->btf, glob_sym->btf_id, obj->btf, btf_id)) in glob_syms_match()
[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/tools/testing/selftests/bpf/
H A Dtest_verifier.c973 int btf_id = 0; in fixup_prog_kfuncs() local
978 btf_id = btf__find_by_name_kind(vmlinux_btf, in fixup_prog_kfuncs()
981 btf_id = btf_id < 0 ? 0 : btf_id; in fixup_prog_kfuncs()
985 if (!btf_id) { in fixup_prog_kfuncs()
988 btf_id = btf__find_by_name_kind(testmod_btf, in fixup_prog_kfuncs()
991 btf_id = btf_id < 0 ? 0 : btf_id; in fixup_prog_kfuncs()
992 if (btf_id) { in fixup_prog_kfuncs()
1002 prog[fixup_kfunc_btf_id->insn_idx].imm = btf_id; in fixup_prog_kfuncs()
/linux/net/ipv4/
H A Dbpf_tcp_ca.c54 info->btf_id == sock_id) in bpf_tcp_ca_is_valid_access()
56 info->btf_id = tcp_sock_id; in bpf_tcp_ca_is_valid_access()
68 t = btf_type_by_id(reg->btf, reg->btf_id); in bpf_tcp_ca_btf_struct_access()
/linux/net/sched/
H A Dbpf_qdisc.c46 info->btf_id = bpf_sk_buff_ptr_ids[0]; in BTF_ID_LIST_SINGLE()
106 t = btf_type_by_id(reg->btf, reg->btf_id); in bpf_qdisc_btf_struct_access()
465 .btf_id = bpf_sk_buff_ids[0], in BTF_ID_LIST_SINGLE()

123