函数逻辑报告 |
Source Code:kernel\bpf\verifier.c |
Create Date:2022-07-27 14:10:22 |
Last Modify:2022-05-19 20:02:10 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:This function is supposed to be used by the following 32-bit optimization* code only. It returns TRUE if the source or destination register operates* on 64-bit, otherwise return FALSE.
函数原型:static bool is_reg64(struct bpf_verifier_env *env, struct bpf_insn *insn, u32 regno, struct bpf_reg_state *reg, enum reg_arg_type t)
返回类型:bool
参数:
类型 | 参数 | 名称 |
---|---|---|
struct bpf_verifier_env * | env | |
struct bpf_insn * | insn | |
u32 | regno | |
struct bpf_reg_state * | reg | |
enum reg_arg_type | t |
1320 | class等于Instruction classes (code) |
1321 | op等于alu/jmp fields (code) |
1326 | 如果op恒等于unction return 则返回:true |
1328 | 如果op恒等于unction call 则 |
1334 | 如果 source register 恒等于when bpf_call->src_reg == BPF_PSEUDO_CALL, bpf_call->imm == pc-relative* offset to another bpf function则返回:false |
1339 | 如果t恒等于 register is used as source operand 则返回:true |
1342 | 返回:false |
1346 | 如果class恒等于alu mode in double word width 或class恒等于BPF_JMP或class恒等于BPF_ALU且op恒等于lags for endianness conversion: 且 signed immediate constant 恒等于64则返回:true |
1351 | 如果class恒等于BPF_ALU或class恒等于jmp mode in word width 则返回:false |
1355 | 如果t不等于 register is used as source operand 则返回:ld/ldx fields (code)恒等于double word (64-bit) |
1358 | 返回:true |
1362 | 如果 Ordering of fields matters. See states_equal() 不等于g doesn't contain a valid pointer 则返回:true |
1364 | 返回:ld/ldx fields (code)恒等于double word (64-bit) |
1368 | mode等于BPF BPF_DW 0x18 64-bit (code) |
1375 | 如果t不等于 register is used as source operand 则返回:false |
1383 | 返回:true |
1391 | 返回:true |
名称 | 描述 |
---|---|
insn_has_def32 | Return TRUE if INSN has defined any 32-bit value explicitly. |
check_reg_arg | |
opt_subreg_zext_lo32_rnd_hi32 |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |