函数逻辑报告 |
Source Code:kernel\bpf\verifier.c |
Create Date:2022-07-27 14:11:19 |
| Last Modify:2022-05-19 20:02:10 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:check_map_access_type
函数原型:static int check_map_access_type(struct bpf_verifier_env *env, u32 regno, int off, int size, enum bpf_access_type type)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct bpf_verifier_env * | env | |
| u32 | regno | |
| int | off | |
| int | size | |
| enum bpf_access_type | type |
| 2200 | cap等于bpf_map_flags_to_cap(map) |
| 2202 | 如果type恒等于BPF_WRITE且非cap按位与BPF_MAP_CAN_WRITE的值则 |
| 2203 | verbose(env, "write into map forbidden, value_size=%d off=%d size=%d\n", value_size, off, size) |
| 2205 | 返回:负EACCES |
| 2208 | 如果type恒等于BPF_READ且非cap按位与BPF_MAP_CAN_READ的值则 |
| 2209 | verbose(env, "read from map forbidden, value_size=%d off=%d size=%d\n", value_size, off, size) |
| 2211 | 返回:负EACCES |
| 2214 | 返回:0 |
| 名称 | 描述 |
|---|---|
| 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 |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |