函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\bpf\verifier.c Create Date:2022-07-27 14:17:42
Last Modify:2022-05-19 20:02:10 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:d precise scalars in the previous equivalent state and* propagate them into the current state

函数原型:static int propagate_precision(struct bpf_verifier_env *env, const struct bpf_verifier_state *old)

返回类型:int

参数:

类型参数名称
struct bpf_verifier_env *env
const struct bpf_verifier_state *old
7442  err等于0
7444  state等于 call stack tracking [curframe]
7445  state_reg等于regs
7446 i小于BPF_REG_FP循环
7447  如果 Ordering of fields matters. See states_equal() 不等于g doesn't contain a valid pointer 或非 if (!precise && SCALAR_VALUE) min/max/tnum don't affect safety 则继续下一循环
7450  如果level按位与BPF_LOG_LEVEL2verbose(env, "propagating r%d\n", i)
7452  err等于mark_chain_precision(env, i)
7453  如果err小于0则返回:err
7457 i小于allocated_stacksize of eBPF register in bytes 循环
7458  如果slot_type[0]不等于 register spilled into stack 则继续下一循环
7460  state_reg等于spilled_ptr
7461  如果 Ordering of fields matters. See states_equal() 不等于g doesn't contain a valid pointer 或非 if (!precise && SCALAR_VALUE) min/max/tnum don't affect safety 则继续下一循环
7464  如果level按位与BPF_LOG_LEVEL2verbose(env, "propagating fp%d\n", ( - i - 1) * size of eBPF register in bytes )
7467  err等于mark_chain_precision_stack(env, i)
7468  如果err小于0则返回:err
7471  返回:0
调用者
名称描述
is_state_visited