函数逻辑报告 |
Source Code:include\linux\bpf_verifier.h |
Create Date:2022-07-27 14:08:23 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:cur_regs
函数原型:static inline struct bpf_reg_state *cur_regs(struct bpf_verifier_env *env)
返回类型:struct bpf_reg_state
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct bpf_verifier_env * | env |
| 418 | 返回:regs |
| 名称 | 描述 |
|---|---|
| check_map_access_type | |
| __check_map_access | heck read/write into map element returned by bpf_map_lookup_elem() |
| __check_packet_access | |
| check_packet_access | |
| check_sock_access | |
| reg_state | |
| 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 && |
| check_helper_mem_access | |
| process_spin_lock | Implementation details:* bpf_map_lookup returns PTR_TO_MAP_VALUE_OR_NULL* Two bpf_map_lookups (even with the same key) will have different reg->id |
| check_func_arg | |
| record_func_key | |
| check_helper_call | |
| 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 |
| 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 |
| check_return_code | |
| do_check |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |