函数逻辑报告 |
Source Code:kernel\bpf\verifier.c |
Create Date:2022-07-27 14:15:34 |
Last Modify:2022-05-19 20:02:10 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称: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.
函数原型:static void reg_set_min_max(struct bpf_reg_state *true_reg, struct bpf_reg_state *false_reg, u64 val, u8 opcode, bool is_jmp32)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct bpf_reg_state * | true_reg | |
struct bpf_reg_state * | false_reg | |
u64 | val | |
u8 | opcode | |
bool | is_jmp32 |
5581 | 如果__is_pointer_value(TSC's on different sockets may be reset asynchronously.* This may cause the TSC ADJUST value on socket 0 to be NOT 0., false_reg)则返回 |
5615 | 退出 |
5630 | 当:opcode恒等于SGE is signed '>=', GE in x86 |
5631 | 当:opcode恒等于SGT is signed '>', GT in x86 |
5633 | false_smax等于如果opcode恒等于SGT is signed '>', GT in x86 则sval否则sval减1 |
5634 | true_smin等于如果opcode恒等于SGT is signed '>', GT in x86 则sval加1否则sval |
5639 | 如果is_jmp32且非Return true if VAL is compared with a s64 sign extended from s32, and they* are with the same signedness.则退出 |
5643 | 退出 |
5645 | 当:opcode恒等于LE is unsigned, '<=' |
5646 | 当:opcode恒等于LT is unsigned, '<' |
5648 | false_umin等于如果opcode恒等于LT is unsigned, '<' 则val否则val加1 |
5649 | true_umax等于如果opcode恒等于LT is unsigned, '<' 则val减1否则val |
5651 | 如果is_jmp32则 |
5657 | 退出 |
5659 | 当:opcode恒等于SLE is signed, '<=' |
5660 | 当:opcode恒等于SLT is signed, '<' |
5662 | false_smin等于如果opcode恒等于SLT is signed, '<' 则sval否则sval加1 |
5663 | true_smax等于如果opcode恒等于SLT is signed, '<' 则sval减1否则sval |
5665 | 如果is_jmp32且非Return true if VAL is compared with a s64 sign extended from s32, and they* are with the same signedness.则退出 |
5669 | 退出 |
5671 | 默认 |
5672 | 退出 |
5680 | 如果is_jmp32则 |
5682 | __reg_bound_offset32(true_reg) |
名称 | 描述 |
---|---|
check_cond_jmp_op |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |