函数逻辑报告 |
Source Code:kernel\bpf\verifier.c |
Create Date:2022-07-27 14:15:23 |
Last Modify:2022-05-19 20:02:10 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称: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
函数原型:static int is_branch_taken(struct bpf_reg_state *reg, u64 val, u8 opcode, bool is_jmp32)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct bpf_reg_state * | reg | |
u64 | val | |
u8 | opcode | |
bool | is_jmp32 |
5435 | 如果__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., reg)则返回:负1 |
5438 | 如果is_jmp32则 |
5459 | 如果 maximum possible (u64)value 按位异或 minimum possible (u64)value 的值按位与1ULL左移31位则 |
5469 | 否则 |
5477 | 退出 |
5481 | 退出 |
5489 | 如果 minimum possible (u64)value 大于val则返回:1 |
5491 | 否则如果 maximum possible (u64)value 小于等于val则返回:0 |
5493 | 退出 |
5494 | 当:opcode恒等于SGT is signed '>', GT in x86 |
5495 | 如果 minimum possible (s64)value 大于sval则返回:1 |
5497 | 否则如果 maximum possible (s64)value 小于sval则返回:0 |
5499 | 退出 |
5500 | 当:opcode恒等于LT is unsigned, '<' |
5501 | 如果 maximum possible (u64)value 小于val则返回:1 |
5503 | 否则如果 minimum possible (u64)value 大于等于val则返回:0 |
5505 | 退出 |
5506 | 当:opcode恒等于SLT is signed, '<' |
5507 | 如果 maximum possible (s64)value 小于sval则返回:1 |
5509 | 否则如果 minimum possible (s64)value 大于等于sval则返回:0 |
5511 | 退出 |
5513 | 如果 minimum possible (u64)value 大于等于val则返回:1 |
5515 | 否则如果 maximum possible (u64)value 小于val则返回:0 |
5517 | 退出 |
5518 | 当:opcode恒等于SGE is signed '>=', GE in x86 |
5519 | 如果 minimum possible (s64)value 大于等于sval则返回:1 |
5521 | 否则如果 maximum possible (s64)value 小于sval则返回:0 |
5523 | 退出 |
5524 | 当:opcode恒等于LE is unsigned, '<=' |
5525 | 如果 maximum possible (u64)value 小于等于val则返回:1 |
5527 | 否则如果 minimum possible (u64)value 大于val则返回:0 |
5529 | 退出 |
5530 | 当:opcode恒等于SLE is signed, '<=' |
5531 | 如果 maximum possible (s64)value 小于等于sval则返回:1 |
5533 | 否则如果 minimum possible (s64)value 大于sval则返回:0 |
5535 | 退出 |
5538 | 返回:负1 |
名称 | 描述 |
---|---|
check_cond_jmp_op |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |