/kernel/linux/linux-6.6/tools/lib/bpf/ |
H A D | relo_core.h | 71 int __bpf_core_types_are_compat(const struct btf *local_btf, __u32 local_id, 73 int bpf_core_types_are_compat(const struct btf *local_btf, __u32 local_id, 75 int __bpf_core_types_match(const struct btf *local_btf, __u32 local_id, const struct btf *targ_btf, 77 int bpf_core_types_match(const struct btf *local_btf, __u32 local_id, const struct btf *targ_btf, 84 const struct btf *local_btf,
|
H A D | relo_core.c | 146 int __bpf_core_types_are_compat(const struct btf *local_btf, __u32 local_id, in __bpf_core_types_are_compat() argument 153 local_type = btf_type_by_id(local_btf, local_id); in __bpf_core_types_are_compat() 163 local_type = skip_mods_and_typedefs(local_btf, local_id, &local_id); in __bpf_core_types_are_compat() 206 skip_mods_and_typedefs(local_btf, local_p->type, &local_id); in __bpf_core_types_are_compat() 208 err = __bpf_core_types_are_compat(local_btf, local_id, targ_btf, targ_id, in __bpf_core_types_are_compat() 215 skip_mods_and_typedefs(local_btf, local_type->type, &local_id); in __bpf_core_types_are_compat() 412 static int bpf_core_fields_are_compat(const struct btf *local_btf, in bpf_core_fields_are_compat() argument 420 local_type = skip_mods_and_typedefs(local_btf, local_id, &local_id); in bpf_core_fields_are_compat() 440 local_name = btf__name_by_offset(local_btf, in bpf_core_fields_are_compat() 481 static int bpf_core_match_member(const struct btf *local_btf, in bpf_core_match_member() argument 1280 bpf_core_calc_relo_insn(const char *prog_name, const struct bpf_core_relo *relo, int relo_idx, const struct btf *local_btf, struct bpf_core_cand_list *cands, struct bpf_core_spec *specs_scratch, struct bpf_core_relo_res *targ_res) bpf_core_calc_relo_insn() argument 1422 bpf_core_names_match(const struct btf *local_btf, size_t local_name_off, const struct btf *targ_btf, size_t targ_name_off) bpf_core_names_match() argument 1440 bpf_core_enums_match(const struct btf *local_btf, const struct btf_type *local_t, const struct btf *targ_btf, const struct btf_type *targ_t) bpf_core_enums_match() argument 1479 bpf_core_composites_match(const struct btf *local_btf, const struct btf_type *local_t, const struct btf *targ_btf, const struct btf_type *targ_t, bool behind_ptr, int level) bpf_core_composites_match() argument 1544 __bpf_core_types_match(const struct btf *local_btf, __u32 local_id, const struct btf *targ_btf, __u32 targ_id, bool behind_ptr, int level) __bpf_core_types_match() argument [all...] |
H A D | libbpf.c | 5604 bpf_core_find_cands(struct bpf_object *obj, const struct btf *local_btf, __u32 local_type_id) in bpf_core_find_cands() argument 5614 local_cand.btf = local_btf; in bpf_core_find_cands() 5616 local_t = btf__type_by_id(local_btf, local_type_id); in bpf_core_find_cands() 5620 local_name = btf__name_by_offset(local_btf, local_t->name_off); in bpf_core_find_cands() 5683 int bpf_core_types_are_compat(const struct btf *local_btf, __u32 local_id, in bpf_core_types_are_compat() argument 5686 return __bpf_core_types_are_compat(local_btf, local_id, targ_btf, targ_id, 32); in bpf_core_types_are_compat() 5689 int bpf_core_types_match(const struct btf *local_btf, __u32 local_id, in bpf_core_types_match() argument 5692 return __bpf_core_types_match(local_btf, local_id, targ_btf, targ_id, false, 32); in bpf_core_types_match() 5742 const struct btf *local_btf, in bpf_core_resolve_relo() 5754 local_type = btf__type_by_id(local_btf, local_i in bpf_core_resolve_relo() 5739 bpf_core_resolve_relo(struct bpf_program *prog, const struct bpf_core_relo *relo, int relo_idx, const struct btf *local_btf, struct hashmap *cand_cache, struct bpf_core_relo_res *targ_res) bpf_core_resolve_relo() argument [all...] |
/kernel/linux/linux-5.10/tools/testing/selftests/bpf/prog_tests/ |
H A D | core_reloc.c | 336 struct btf *local_btf = btf__parse(test->bpf_obj_file, NULL); in setup_type_id_case_local() local 342 if (CHECK(IS_ERR(local_btf), "local_btf", "failed: %ld\n", PTR_ERR(local_btf)) || in setup_type_id_case_local() 344 btf__free(local_btf); in setup_type_id_case_local() 356 for (i = 1; i <= btf__get_nr_types(local_btf); i++) in setup_type_id_case_local() 358 t = btf__type_by_id(local_btf, i); in setup_type_id_case_local() 364 (name = btf__name_by_offset(local_btf, btf_members(t)[0].name_off)) && in setup_type_id_case_local() 368 (name = btf__name_by_offset(local_btf, btf_members(t)[0].name_off)) && in setup_type_id_case_local() 372 (name = btf__name_by_offset(local_btf, btf_enu in setup_type_id_case_local() [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/prog_tests/ |
H A D | core_reloc.c | 426 struct btf *local_btf = btf__parse(test->bpf_obj_file, NULL); in setup_type_id_case_local() local 432 if (!ASSERT_OK_PTR(local_btf, "local_btf") || !ASSERT_OK_PTR(targ_btf, "targ_btf")) { in setup_type_id_case_local() 433 btf__free(local_btf); in setup_type_id_case_local() 445 for (i = 1; i < btf__type_cnt(local_btf); i++) in setup_type_id_case_local() 447 t = btf__type_by_id(local_btf, i); in setup_type_id_case_local() 453 (name = btf__name_by_offset(local_btf, btf_members(t)[0].name_off)) && in setup_type_id_case_local() 457 (name = btf__name_by_offset(local_btf, btf_members(t)[0].name_off)) && in setup_type_id_case_local() 461 (name = btf__name_by_offset(local_btf, btf_enum(t)[0].name_off)) && in setup_type_id_case_local() 464 } else if (btf_is_ptr(t) && (t = btf__type_by_id(local_btf, in setup_type_id_case_local() [all...] |
/kernel/linux/linux-6.6/tools/bpf/bpftool/ |
H A D | gen.c | 1999 btfgen_find_cands(const struct btf *local_btf, const struct btf *targ_btf, __u32 local_id) in btfgen_find_cands() argument 2008 local_cand.btf = local_btf; in btfgen_find_cands() 2011 local_type = btf__type_by_id(local_btf, local_id); in btfgen_find_cands() 2017 local_name = btf__name_by_offset(local_btf, local_type->name_off); in btfgen_find_cands()
|
/kernel/linux/linux-5.10/tools/lib/bpf/ |
H A D | libbpf.c | 4680 static struct ids_vec *bpf_core_find_cands(const struct btf *local_btf, in bpf_core_find_cands() argument 4691 local_t = btf__type_by_id(local_btf, local_type_id); in bpf_core_find_cands() 4695 local_name = btf__name_by_offset(local_btf, local_t->name_off); in bpf_core_find_cands() 4755 static int bpf_core_fields_are_compat(const struct btf *local_btf, in bpf_core_fields_are_compat() argument 4763 local_type = skip_mods_and_typedefs(local_btf, local_id, &local_id); in bpf_core_fields_are_compat() 4781 local_name = btf__name_by_offset(local_btf, in bpf_core_fields_are_compat() 4824 static int bpf_core_match_member(const struct btf *local_btf, in bpf_core_match_member() argument 4844 local_type = btf__type_by_id(local_btf, local_id); in bpf_core_match_member() 4846 local_name = btf__name_by_offset(local_btf, local_member->name_off); in bpf_core_match_member() 4866 found = bpf_core_match_member(local_btf, local_ac in bpf_core_match_member() 4915 bpf_core_types_are_compat(const struct btf *local_btf, __u32 local_id, const struct btf *targ_btf, __u32 targ_id) bpf_core_types_are_compat() argument 5725 bpf_core_apply_relo(struct bpf_program *prog, const struct bpf_core_relo *relo, int relo_idx, const struct btf *local_btf, const struct btf *targ_btf, struct hashmap *cand_cache) bpf_core_apply_relo() argument [all...] |
/kernel/linux/linux-6.6/kernel/bpf/ |
H A D | btf.c | 8088 int bpf_core_types_are_compat(const struct btf *local_btf, __u32 local_id, in bpf_core_types_are_compat() argument 8091 return __bpf_core_types_are_compat(local_btf, local_id, targ_btf, targ_id, in bpf_core_types_are_compat() 8097 int bpf_core_types_match(const struct btf *local_btf, u32 local_id, in bpf_core_types_match() argument 8100 return __bpf_core_types_match(local_btf, local_id, targ_btf, targ_id, false, in bpf_core_types_match() 8333 const struct btf *local_btf = ctx->btf; in bpf_core_find_cands() local 8347 local_type = btf_type_by_id(local_btf, local_type_id); in bpf_core_find_cands() 8351 name = btf_name_by_offset(local_btf, local_type->name_off); in bpf_core_find_cands()
|