函数逻辑报告 |
Source Code:kernel\bpf\verifier.c |
Create Date:2022-07-27 14:12:45 |
Last Modify:2022-05-19 20:02:10 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称: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
函数原型:static int process_spin_lock(struct bpf_verifier_env *env, int regno, bool is_lock)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct bpf_verifier_env * | env | |
int | regno | |
bool | is_lock |
3314 | cur等于current verifier state |
3323 | 如果非is_const则 |
3324 | verbose(env, "R%d doesn't have constant offset. bpf_spin_lock has to be at the constant offset\n", regno) |
3327 | 返回:负EINVAL |
3329 | 如果非btf则 |
3335 | 如果非map_value_has_spin_lock(map)则 |
3336 | 如果 >=0 valid offset, <0 error 恒等于负E2BIG则verbose(env, "map '%s' has more than one 'struct bpf_spin_lock'\n", name) |
3340 | 否则如果 >=0 valid offset, <0 error 恒等于负ENOENT则verbose(env, "map '%s' doesn't have 'struct bpf_spin_lock'\n", name) |
3348 | 返回:负EINVAL |
3351 | verbose(env, "off %lld doesn't point to 'struct bpf_spin_lock'\n", val + Fixed part of pointer offset, pointer types only ) |
3353 | 返回:负EINVAL |
3355 | 如果is_lock则 |
3356 | 如果active_spin_lock则 |
3362 | 否则 |
3373 | 返回:0 |
名称 | 描述 |
---|---|
check_func_arg |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |