Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\bpf\verifier.c Create Date:2022-07-28 13:03:13
Last Modify:2022-05-19 20:02:10 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:d precise scalars in the previous equivalent state and* propagate them into the current state

Proto:static int propagate_precision(struct bpf_verifier_env *env, const struct bpf_verifier_state *old)

Type:int

Parameter:

TypeParameterName
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  When i < BPF_REG_FP cycle
7447  If Ordering of fields matters. See states_equal() != g doesn't contain a valid pointer || Not if (!precise && SCALAR_VALUE) min/max/tnum don't affect safety Then Continue
7450  If level & BPF_LOG_LEVEL2 Then verbose(env, "propagating r%d\n", i)
7452  err = mark_chain_precision(env, i)
7453  If err < 0 Then Return err
7457  When i < allocated_stack / size of eBPF register in bytes cycle
7458  If slot_type[0] != register spilled into stack Then Continue
7460  state_reg = spilled_ptr
7461  If Ordering of fields matters. See states_equal() != g doesn't contain a valid pointer || Not if (!precise && SCALAR_VALUE) min/max/tnum don't affect safety Then Continue
7464  If level & BPF_LOG_LEVEL2 Then verbose(env, "propagating fp%d\n", ( - i - 1) * size of eBPF register in bytes )
7467  err = mark_chain_precision_stack(env, i)
7468  If err < 0 Then Return err
7471  Return 0
Caller
NameDescribe
is_state_visited