函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\bpf\btf.c Create Date:2022-07-27 14:37:11
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:btf_var_check_meta

函数原型:static s32 btf_var_check_meta(struct btf_verifier_env *env, const struct btf_type *t, u32 meta_left)

返回类型:s32

参数:

类型参数名称
struct btf_verifier_env *env
const struct btf_type *t
u32meta_left
2653  meta_needed等于var的长度
2655  如果meta_left小于meta_needed
2656  btf_verifier_log_basic(env, t, "meta_left:%u meta_needed:%u", meta_left, meta_needed)
2659  返回:负EINVAL
2662  如果btf_type_vlen(t)则
2663  btf_verifier_log_type(env, t, "vlen != 0")
2664  返回:负EINVAL
2667  如果btf_type_kflag(t)则
2668  btf_verifier_log_type(env, t, "Invalid btf_info kind_flag")
2669  返回:负EINVAL
2672  如果非name_off或非__btf_name_valid(btf, name_off, true)则
2674  btf_verifier_log_type(env, t, "Invalid name")
2675  返回:负EINVAL
2679  如果非type或非BTF_TYPE_ID_VALID(type)则
2680  btf_verifier_log_type(env, t, "Invalid type_id")
2681  返回:负EINVAL
2684  var等于btf_type_var(t)
2685  如果linkage不等于BTF_VAR_STATIClinkage不等于BTF_VAR_GLOBAL_ALLOCATED
2687  btf_verifier_log_type(env, t, "Linkage not supported")
2688  返回:负EINVAL
2691  btf_verifier_log_type(env, t, NULL)
2693  返回:meta_needed