函数逻辑报告 |
Source Code:kernel\bpf\verifier.c |
Create Date:2022-07-27 14:11:59 |
Last Modify:2022-05-19 20:02:10 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:runcate register to smaller size (in bytes)* must be called with size < BPF_REG_SIZE
函数原型:static void coerce_reg_to_size(struct bpf_reg_state *reg, int size)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct bpf_reg_state * | reg | |
int | size |
2803 | 如果 minimum possible (u64)value 按位与mask的反的值恒等于 maximum possible (u64)value 按位与mask的反的值则 |
2804 | minimum possible (u64)value 与等于mask |
2805 | maximum possible (u64)value 与等于mask |
2806 | 否则 |
2807 | minimum possible (u64)value 等于0 |
2808 | maximum possible (u64)value 等于mask |
名称 | 描述 |
---|---|
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. |
check_alu_op | heck validity of 32-bit and 64-bit arithmetic operations |
is_branch_taken | mpute branch direction of the expression "if (reg opcode val) goto target;"* and return:* 1 - branch will be taken and "goto target" will be executed* 0 - branch will not be taken and fall-through to next insn* -1 - unknown |
check_cond_jmp_op |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |