Function report |
Source Code:kernel\bpf\verifier.c |
Create Date:2022-07-28 12:56:39 |
Last Modify:2022-05-19 20:02:10 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Mark a register as having a completely unknown (scalar) value.
Proto:static void __mark_reg_unknown(const struct bpf_verifier_env *env, struct bpf_reg_state *reg)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
const struct bpf_verifier_env * | env | |
struct bpf_reg_state * | reg |
1065 | memset(reg, 0, offsetof(structbpf_reg_state, var_off)) |
1069 | if (!precise && SCALAR_VALUE) min/max/tnum don't affect safety = subprog_cnt > 1 || !allow_ptr_leaks ? true : false |
Name | Describe |
---|---|
mark_reg_unknown | |
__mark_reg_not_init | |
check_stack_boundary | when register 'regno' is passed into function that will read 'access_size'* bytes from that pointer, make sure that it's within stack boundary* and all elements of stack are initialized |
__clear_all_pkt_pointers | Packet data might have moved, any old PTR_TO_PACKET[_META,_END]* are now invalid, so turn them into unknown SCALAR_VALUE. |
release_reg_references | |
adjust_ptr_min_max_vals | Handles arithmetic on a pointer and a scalar: computes new min/max and var_off.* Caller should also handle BPF_MOV case separately.* If we return -EACCES, caller may want to try again treating pointer as a* scalar |
adjust_scalar_min_max_vals | WARNING: This function does calculations on 64-bit values, but the actual* execution may occur on 32-bit values. Therefore, things like bitshifts* need extra checks in the 32-bit case. |
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 |