bpf: log struct/union attribute for forward type
Subsystems (3)
PATCH 1/1 bpf: log struct/union attribute for forward type
Current btf internal verbose logger logs fwd type as
[2] FWD A type_id=0
where A is the type name.
Commit 9d5f9f701b18 ("bpf: btf: fix struct/union/fwd types with kind_flag") introduced kind_flag which can be used to distinguish whether a forward type is a struct or union.
Also, "type_id=0" does not carry any meaningful information for fwd type as btf_type.type = 0 is simply enforced during btf verification and is not used anywhere else.
This commit changed the log to
[2] FWD A struct
if kind_flag = 0, or
[2] FWD A union
if kind_flag = 1.
--- kernel/bpf/btf.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
kernel/bpf/btf.c +7 -1
@@ -1595,12 +1595,18 @@ static s32 btf_fwd_check_meta(struct btf_verifier_env *env,return 0 ; } +static void btf_fwd_type_log (struct btf_verifier_env *env, +const struct btf_type *t) +{ +btf_verifier_log (env,"%s" ,btf_type_kflag (t) ?"union" :"struct" ); +} +static struct btf_kind_operations fwd_ops = { .check_meta = btf_fwd_check_meta, .resolve = btf_df_resolve, .check_member = btf_df_check_member, .check_kflag_member = btf_df_check_kflag_member, - .log_details = btf_ref_type_log, + .log_details = btf_fwd_type_log, .seq_show = btf_df_seq_show, };
Signature · 1 line
2.17.1
Quoted 14 lines · Yonghong Song
Current btf internal verbose logger logs fwd type as
[2] FWD A type_id=0
where A is the type name.Commit
9d5f9f701b18("bpf: btf: fix struct/union/fwd types withkind_flag") introducedkind_flagwhich can be used to distinguish whether a forward type is a struct or union.Also, "type_id=0" does not carry any meaningful information for fwd type as btf_type.type = 0 is simply enforced during btf verification and is not used anywhere else.
Quoted 8 lines
This commit changed the log to
[2] FWD A struct
ifkind_flag= 0, or
[2] FWD A union
ifkind_flag= 1.Acked-by Martin KaFai Lau <[email protected]>Signed-off-by Yonghong Song <[email protected]>
Applied, thanks!