Function report |
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 activity | Download SCCT | Chinese |
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:
Type | Parameter | Name |
---|---|---|
struct bpf_verifier_env * | env | |
const struct bpf_verifier_state * | old |
7442 | err = 0 |
7444 | state = call stack tracking [curframe] |
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) |
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) |
7471 | Return 0 |
Name | Describe |
---|---|
is_state_visited |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |