函数逻辑报告 |
Source Code:kernel\bpf\verifier.c |
Create Date:2022-07-27 14:09:50 |
Last Modify:2022-05-19 20:02:10 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:Mark the unknown part of a register (variable offset or scalar value) as* known to have the value @imm.
函数原型:static void __mark_reg_known(struct bpf_reg_state *reg, u64 imm)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct bpf_reg_state * | reg | |
u64 | imm |
919 | memset(((u8 * )reg) + Ordering of fields matters. See states_equal() 的长度, 0, offsetof(structbpf_reg_state, var_off) - Ordering of fields matters. See states_equal() 的长度) |
名称 | 描述 |
---|---|
__mark_reg_known_zero | Mark the 'variable offset' part of a register as zero. This should be* used only on registers holding a pointer type. |
__mark_reg_const_zero | |
check_mem_access | heck whether memory at (regno + off) is accessible for t = (read | write)* if t==write, value_regno is a register which value is stored into memory* if t==read, value_regno is a register which will receive the value from memory* if t==write && |
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. |
adjust_reg_min_max_vals | Handles ALU ops other than BPF_END, BPF_NEG and BPF_MOV: computes new min/max* and var_off. |
check_alu_op | heck validity of 32-bit and 64-bit arithmetic operations |
reg_set_min_max | Adjusts the register min/max values in the case that the dst_reg is the* variable register that we are working on, and src_reg is a constant or we're* simply doing a BPF_K check.* In JEQ/JNE cases we also adjust the var_off values. |
reg_set_min_max_inv | Same as above, but for the case that dst_reg holds a constant and src_reg is* the variable reg. |
check_ld_imm | verify BPF_LD_IMM64 instruction |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |