/linux-master/tools/testing/selftests/bpf/prog_tests/ |
H A D | module_fentry_shadow.c | 62 __s32 btf_id[2] = {}; local 90 btf_id[0] = btf__find_by_name_kind(vmlinux_btf, symbol_name, BTF_KIND_FUNC); 91 if (!ASSERT_GT(btf_id[0], 0, "btf_find_by_name")) 94 btf_id[1] = btf__find_by_name_kind(mod_btf, symbol_name, BTF_KIND_FUNC); 95 if (!ASSERT_GT(btf_id[1], 0, "btf_find_by_name")) 99 load_opts.attach_btf_id = btf_id[i];
|
H A D | fexit_bpf2bpf.c | 115 __s32 btf_id; local 120 btf_id = btf__find_by_name_kind(btf, tgt_name + 1, BTF_KIND_FUNC); 146 ASSERT_EQ(link_info.tracing.target_btf_id, btf_id, "link_tgt_btf_id"); 446 if (!info.btf_id) 449 btf = btf__load_from_kernel_by_id(info.btf_id); 486 int btf_id; local 500 btf_id = find_prog_btf_id("bind_v4_prog", bpf_program__fd(skel->progs.bind_v4_prog)); 501 if (!ASSERT_GE(btf_id, 0, "find_prog_btf_id")) 504 fentry_fd = load_fentry(bpf_program__fd(skel->progs.bind_v4_prog), btf_id); 515 ASSERT_EQ(info.btf_id, [all...] |
H A D | ctx_rewrite.c | 249 static int find_field_offset_aux(struct btf *btf, int btf_id, char *field_name, int off) argument 251 const struct btf_type *type = btf__type_by_id(btf, btf_id); 257 PRINT_FAIL("Can't find btf_type for id %d\n", btf_id); 262 PRINT_FAIL("BTF id %d is not struct or union\n", btf_id); 296 int btf_id, field_offset; local 310 btf_id = btf__find_by_name(btf, type_str); 311 if (btf_id < 0) { 316 field_offset = find_field_offset_aux(btf, btf_id, field_str, 0);
|
H A D | test_global_funcs.c | 87 btf = btf__load_from_kernel_by_id(info.btf_id);
|
/linux-master/include/linux/ |
H A D | bpf_lsm.h | 30 bool bpf_lsm_is_sleepable_hook(u32 btf_id); 50 static inline bool bpf_lsm_is_sleepable_hook(u32 btf_id) argument
|
H A D | bpf_verifier.h | 8 #include <linux/btf.h> /* for struct btf and btf_id() */ 97 u32 btf_id; member in struct:bpf_reg_state::__anon1915::__anon1917 123 u32 btf_id; member in struct:bpf_reg_state::__anon1915::__anon1920 529 u32 btf_id; /* btf_id for struct typed var */ member in struct:bpf_insn_aux_data::__anon1923::__anon1925::__anon1926::__anon1927 615 u32 btf_id; member in union:bpf_subprog_arg_info::__anon1929 795 struct btf *btf, u32 btf_id) 798 return ((u64)tgt_prog->aux->id << 32) | btf_id; 800 return ((u64)btf_obj_id(btf) << 32) | 0x80000000 | btf_id; 804 static inline void bpf_trampoline_unpack_key(u64 key, u32 *obj_id, u32 *btf_id) argument 794 bpf_trampoline_compute_key(const struct bpf_prog *tgt_prog, struct btf *btf, u32 btf_id) argument [all...] |
H A D | btf.h | 124 u32 btf_id; member in struct:btf_id_dtor_kfunc 129 u32 btf_id; member in struct:btf_struct_meta 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) argument 572 static inline struct btf_struct_meta *btf_find_struct_meta(const struct btf *btf, u32 btf_id) argument
|
/linux-master/tools/bpf/resolve_btfids/ |
H A D | main.c | 101 struct btf_id { struct 177 static struct btf_id *btf_id__find(struct rb_root *root, const char *name) 180 struct btf_id *id; 184 id = rb_entry(p, struct btf_id, rb_node); 196 static struct btf_id * 201 struct btf_id *id; 206 id = rb_entry(parent, struct btf_id, rb_node); 259 static struct btf_id *add_set(struct object *obj, char *name, bool is_set8) 277 static struct btf_id *add_symbol(struct rb_root *root, char *name, size_t size) 443 struct btf_id *i [all...] |
/linux-master/tools/perf/util/ |
H A D | bpf-event.c | 97 u32 btf_id, 110 node->id = btf_id; 225 if (info->btf_id && info->nr_func_info && info->func_info_rec_size) { 232 btf = btf__load_from_kernel_by_id(info->btf_id); 234 pr_debug("%s: failed to get BTF of id %u, aborting\n", __func__, info->btf_id); 238 perf_env__fetch_btf(env, info->btf_id, btf); 457 u32 btf_id; local 478 btf_id = info_linear->info.btf_id; 487 if (btf_id 96 perf_env__fetch_btf(struct perf_env *env, u32 btf_id, struct btf *btf) argument [all...] |
H A D | env.c | 98 __u32 btf_id = btf_node->id; local 107 if (btf_id < node->id) { 109 } else if (btf_id > node->id) { 112 pr_debug("duplicated btf %u\n", btf_id); 123 struct btf_node *perf_env__find_btf(struct perf_env *env, __u32 btf_id) argument 128 res = __perf_env__find_btf(env, btf_id); 133 struct btf_node *__perf_env__find_btf(struct perf_env *env, __u32 btf_id) argument 142 if (btf_id < node->id) 144 else if (btf_id > node->id)
|
H A D | env.h | 187 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-master/tools/bpf/bpftool/ |
H A D | btf.c | 523 static bool btf_is_kernel_module(__u32 btf_id) argument 531 btf_fd = bpf_btf_get_fd_by_id(btf_id); 533 p_err("can't get BTF object by id (%u): %s", btf_id, strerror(errno)); 543 p_err("can't get BTF (ID %u) object info: %s", btf_id, strerror(errno)); 556 __u32 btf_id = -1; local 579 btf_id = info.btf_id; 615 btf_id = info.btf_id; 619 btf_id 742 __u32 btf_id, id = 0; local [all...] |
H A D | map.c | 521 if (info->btf_id) 522 jsonw_int_field(json_wtr, "btf_id", info->btf_id); 614 if (info->btf_id || frozen) 617 if (info->btf_id) 618 printf("btf_id %d", info->btf_id); 621 printf("%sfrozen", info->btf_id ? " " : ""); 781 if (!info.btf_id) 804 *btf = btf__load_from_kernel_by_id(info->btf_id); [all...] |
H A D | prog.c | 324 btf = btf__load_from_kernel_by_id(map_info.btf_id); 482 if (info->btf_id) 483 jsonw_int_field(json_wtr, "btf_id", info->btf_id); 571 if (info->btf_id) 572 printf("\n\tbtf_id %d", info->btf_id); 731 if (info->btf_id) { 732 btf = btf__load_from_kernel_by_id(info->btf_id); 2210 if (info.btf_id == 0) { 2232 btf = btf__load_from_kernel_by_id(info.btf_id); [all...] |
/linux-master/kernel/bpf/preload/iterators/ |
H A D | iterators.bpf.c | 59 static const char *get_name(struct btf *btf, long btf_id, const char *fallback) argument 69 bpf_probe_read_kernel(&t, sizeof(t), types + btf_id);
|
/linux-master/kernel/bpf/ |
H A D | prog_iter.c | 103 bpf_prog_reg_info.ctx_arg_info[0].btf_id = *btf_bpf_prog_id;
|
H A D | link_iter.c | 103 bpf_link_reg_info.ctx_arg_info[0].btf_id = *btf_bpf_link_id;
|
H A D | verifier.c | 284 u32 btf_id; member in struct:bpf_call_arg_meta 310 /* arg_{btf,btf_id,owning_ref} are used by kfunc-specific handling, 417 meta = btf_find_struct_meta(reg->btf, reg->btf_id); 503 static bool is_sync_callback_calling_kfunc(u32 btf_id); 1004 struct btf *btf, u32 btf_id, int nr_slots) 1032 st->iter.btf_id = btf_id; 1104 struct btf *btf, u32 btf_id, int nr_slots) 1124 if (st->iter.btf != btf || st->iter.btf_id != btf_id) 1001 mark_stack_slots_iter(struct bpf_verifier_env *env, struct bpf_kfunc_call_arg_meta *meta, struct bpf_reg_state *reg, int insn_idx, struct btf *btf, u32 btf_id, int nr_slots) argument 1103 is_iter_reg_valid_init(struct bpf_verifier_env *env, struct bpf_reg_state *reg, struct btf *btf, u32 btf_id, int nr_slots) argument 2348 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) argument 5302 rcu_protected_object(const struct btf *btf, u32 btf_id) argument 5558 check_ctx_access(struct bpf_verifier_env *env, int insn_idx, int off, int size, enum bpf_access_type t, enum bpf_reg_type *reg_type, struct btf **btf, u32 *btf_id) argument 6395 type_is_rcu(struct bpf_verifier_env *env, struct bpf_reg_state *reg, const char *field_name, u32 btf_id) argument 6406 type_is_rcu_or_null(struct bpf_verifier_env *env, struct bpf_reg_state *reg, const char *field_name, u32 btf_id) argument 6417 type_is_trusted(struct bpf_verifier_env *env, struct bpf_reg_state *reg, const char *field_name, u32 btf_id) argument 6442 u32 btf_id = 0; local 6591 u32 btf_id; local 6836 u32 btf_id = 0; local 7772 u32 btf_id; local 8106 u32 *btf_id; member in struct:bpf_reg_types 9445 u32 btf_id; local 11343 is_bpf_list_api_kfunc(u32 btf_id) argument 11351 is_bpf_rbtree_api_kfunc(u32 btf_id) argument 11358 is_bpf_graph_api_kfunc(u32 btf_id) argument 11364 is_sync_callback_calling_kfunc(u32 btf_id) argument 11375 is_rbtree_lock_required_kfunc(u32 btf_id) argument 20645 u32 btf_id, member_idx; local 20740 check_non_sleepable_error_inject(u32 btf_id) argument 20745 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) argument 21073 u32 btf_id = prog->aux->attach_btf_id; local [all...] |
H A D | bpf_iter.c | 13 u32 btf_id; /* cached value */ member in struct:bpf_iter_target_info 336 tinfo->btf_id = prog->aux->attach_btf_id; 352 if (iter->btf_id && iter->btf_id == prog_btf_id) { 380 if (tinfo->btf_id == prog->aux->attach_btf_id) { 541 if (iter->btf_id == prog_btf_id) {
|
H A D | task_iter.c | 1062 task_reg_info.ctx_arg_info[0].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_TASK]; 1067 task_file_reg_info.ctx_arg_info[0].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_TASK]; 1068 task_file_reg_info.ctx_arg_info[1].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_FILE]; 1073 task_vma_reg_info.ctx_arg_info[0].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_TASK]; 1074 task_vma_reg_info.ctx_arg_info[1].btf_id = btf_tracing_ids[BTF_TRACING_TYPE_VMA];
|
H A D | bpf_struct_ops.c | 161 s32 btf_id; local 170 btf_id = btf_find_by_name_kind(btf, stub_func_name, BTF_KIND_FUNC); 171 if (btf_id < 0) 173 func_type = btf_type_by_id(btf, btf_id); 274 info->btf_id = arg_btf_id;
|
/linux-master/tools/testing/selftests/bpf/ |
H A D | bpf_kfuncs.h | 66 extern void *bpf_rdonly_cast(const void *obj, __u32 btf_id) __ksym __weak;
|
H A D | test_verifier.c | 875 printf("Failed to create map with btf_id pointer\n"); 977 int btf_id = 0; local 982 btf_id = btf__find_by_name_kind(vmlinux_btf, 985 btf_id = btf_id < 0 ? 0 : btf_id; 989 if (!btf_id) { 992 btf_id = btf__find_by_name_kind(testmod_btf, 995 btf_id = btf_id < [all...] |
/linux-master/tools/lib/bpf/ |
H A D | linker.c | 86 int btf_id; member in struct:glob_sym 1601 struct src_obj *obj, Elf64_Sym *sym, int btf_id) 1608 t = btf__type_by_id(obj->btf, btf_id); 1610 pr_warn("global '%s': invalid map definition type [%d]\n", sym_name, btf_id); 1622 t = btf__type_by_id(linker->btf, glob_sym->btf_id); 1641 struct src_obj *obj, Elf64_Sym *sym, size_t sym_idx, int btf_id) 1648 if (!glob_sym->btf_id || !btf_id) { 1653 src_t = btf__type_by_id(obj->btf, btf_id); 1662 return glob_map_defs_match(sym_name, linker, glob_sym, obj, sym, btf_id); 1599 glob_map_defs_match(const char *sym_name, struct bpf_linker *linker, struct glob_sym *glob_sym, struct src_obj *obj, Elf64_Sym *sym, int btf_id) argument 1639 glob_syms_match(const char *sym_name, struct bpf_linker *linker, struct glob_sym *glob_sym, struct src_obj *obj, Elf64_Sym *sym, size_t sym_idx, int btf_id) argument 1680 int i, j, n, m, btf_id = 0; local 1837 int btf_sec_id = 0, btf_id = 0; local [all...] |
/linux-master/net/ipv4/ |
H A D | bpf_tcp_ca.c | 70 info->btf_id == sock_id) 72 info->btf_id = tcp_sock_id; 84 t = btf_type_by_id(reg->btf, reg->btf_id);
|