函数逻辑报告 | 
Source Code:kernel\bpf\verifier.c | 
Create Date:2022-07-27 14:10:29 | 
| Last Modify:2022-05-19 20:02:10 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:check_reg_arg
函数原型:static int check_reg_arg(struct bpf_verifier_env *env, u32 regno, enum reg_arg_type t)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct bpf_verifier_env * | env | |
| u32 | regno | |
| enum reg_arg_type | t | 
| 1428 | vstate等于current verifier state | 
| 1429 | state等于 call stack tracking [curframe] | 
| 1440 | rw64等于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. | 
| 1441 | 如果t恒等于 register is used as source operand 则 | 
| 1448 | 如果regno恒等于BPF_REG_FP则返回:0 | 
| 1451 | 如果rw64则mark_insn_zext(env, reg) | 
| 1456 | 否则 | 
| 1458 | 如果regno恒等于BPF_REG_FP则 | 
| 1464 | 如果t恒等于 register is used as destination operand 则mark_reg_unknown(env, regs, regno) | 
| 1467 | 返回:0 | 
| 名称 | 描述 | 
|---|---|
| check_xadd | |
| check_func_arg | |
| check_func_call | |
| check_helper_call | |
| check_alu_op | heck validity of 32-bit and 64-bit arithmetic operations | 
| check_cond_jmp_op | |
| check_ld_imm | verify BPF_LD_IMM64 instruction | 
| check_ld_abs | verify safety of LD_ABS|LD_IND instructions:* - they can only appear in the programs where ctx == skb* - since they are wrappers of function calls, they scratch R1-R5 registers,* preserve R6-R9, and store return value into R0* Implicit input:* ctx == skb | 
| do_check | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |