函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |