Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\bpf\btf.c Create Date:2022-07-28 13:17:59
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:btf_type_id_size

Proto:const struct btf_type *btf_type_id_size(const struct btf *btf, u32 *type_id, u32 *ret_size)

Type:struct btf_type

Parameter:

TypeParameterName
const struct btf *btf
u32 *type_id
u32 *ret_size
1132  size_type_id = type_id
1133  size = 0
1135  size_type = btf_type_by_id(btf, size_type_id)
1136  If btf_type_nosize_or_null(size_type) Then Return NULL
1139  If btf_type_has_size(size_type) Then
1140  size = size
1141  Else if btf_type_is_array(size_type) Then
1142  size = resolved_sizes[size_type_id]
1143  Else if btf_type_is_ptr(size_type) Then
1144  size = size of *
1145  Else
1146  If WARN_ON_ONCE(!btf_type_is_modifier(size_type) && !btf_type_is_var(size_type)) Then Return NULL
1150  size_type_id = resolved_ids[size_type_id]
1151  size_type = btf_type_by_id(btf, size_type_id)
1152  If btf_type_nosize_or_null(size_type) Then Return NULL
1154  Else if btf_type_has_size(size_type) Then size = size
1156  Else if btf_type_is_array(size_type) Then size = resolved_sizes[size_type_id]
1158  Else if btf_type_is_ptr(size_type) Then size = size of *
1160  Else Return NULL
1164  type_id = size_type_id
1165  If ret_size Then ret_size = size
1168  Return size_type
Caller
NameDescribe
map_check_btf
btf_member_is_reg_intCheck that given struct member is a regular int with expected* offset and size.
btf_modifier_check_member
btf_modifier_check_kflag_member
btf_modifier_resolve
btf_var_resolve
btf_ptr_resolve
btf_array_check_member
btf_array_resolve
btf_array_seq_show
btf_datasec_resolve
btf_func_proto_check
btf_resolve_valid