Lines Matching refs:base_btf
275 struct btf *base_btf; member
501 return btf->start_id + (btf->base_btf ? 0 : 1); in btf_start_id()
539 return btf->kernel_btf && !btf->base_btf; in btf_is_vmlinux()
548 btf = btf->base_btf; in btf_nr_types()
608 const struct btf *base_btf = btf; in btf_named_start_id() local
610 while (!own && base_btf->base_btf) in btf_named_start_id()
611 base_btf = base_btf->base_btf; in btf_named_start_id()
613 return base_btf->named_start_id ?: (base_btf->start_id ?: 1); in btf_named_start_id()
642 const struct btf *base_btf = btf_base_btf(btf); in btf_find_by_name_kind() local
647 if (base_btf) { in btf_find_by_name_kind()
648 id = btf_find_by_name_kind(base_btf, name, kind); in btf_find_by_name_kind()
873 btf = btf->base_btf; in btf_name_offset_valid()
892 btf = btf->base_btf; in btf_str_by_offset()
962 btf = btf->base_btf; in btf_type_by_id()
1580 if (env->btf->base_btf && IS_ENABLED(CONFIG_MODULE_ALLOW_BTF_MISMATCH)) in __btf_verifier_log_type()
1626 if (env->btf->base_btf && IS_ENABLED(CONFIG_MODULE_ALLOW_BTF_MISMATCH)) in btf_verifier_log_member()
1738 if (!btf->base_btf) { in btf_add_type()
1896 return btf->base_btf; in btf_base_btf()
1904 void btf_set_base_btf(struct btf *btf, const struct btf *base_btf) in btf_set_base_btf() argument
1906 btf->base_btf = (struct btf *)base_btf; in btf_set_base_btf()
1907 btf->start_id = btf_nr_types(base_btf); in btf_set_base_btf()
1908 btf->start_str_off = base_btf->hdr.str_len; in btf_set_base_btf()
2142 btf = btf->base_btf; in btf_resolved_type_id()
2158 btf = btf->base_btf; in btf_resolved_type_size()
5362 env->log_type_id = btf->base_btf ? btf->start_id : 1; in btf_check_all_metas()
5465 for (i = btf->base_btf ? 0 : 1; i < btf->nr_types; i++) { in btf_check_all_types()
5498 if (!env->btf->base_btf && !hdr->type_len) { in btf_parse_type_sec()
5527 if (btf->base_btf && !hdr->str_len) in btf_parse_str_sec()
5533 if (!btf->base_btf && start[0]) { in btf_parse_str_sec()
5663 if (!btf->base_btf && btf_data_size == hdr->hdr_len) { in btf_parse_hdr()
6396 if (!btf->base_btf || !btf->base_id_map) in btf_relocate_id()
6407 struct btf *btf = NULL, *vmlinux_btf, *base_btf = NULL; in btf_parse_module() local
6426 base_btf = btf_parse_base(env, ".BTF.base", base_data, base_data_size); in btf_parse_module()
6427 if (IS_ERR(base_btf)) { in btf_parse_module()
6428 err = PTR_ERR(base_btf); in btf_parse_module()
6432 base_btf = vmlinux_btf; in btf_parse_module()
6442 btf->base_btf = base_btf; in btf_parse_module()
6443 btf->start_id = base_btf->nr_types; in btf_parse_module()
6444 btf->start_str_off = base_btf->hdr.str_len; in btf_parse_module()
6470 err = btf_check_type_tags(env, btf, btf_nr_types(base_btf)); in btf_parse_module()
6474 if (base_btf != vmlinux_btf) { in btf_parse_module()
6478 btf_free(base_btf); in btf_parse_module()
6479 base_btf = vmlinux_btf; in btf_parse_module()
6489 if (!IS_ERR(base_btf) && base_btf != vmlinux_btf) in btf_parse_module()
6490 btf_free(base_btf); in btf_parse_module()