函数逻辑报告 |
Source Code:kernel\bpf\btf.c |
Create Date:2022-07-27 14:38:09 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:btf_parse
函数原型:static struct btf *btf_parse(void __user *btf_data, u32 btf_data_size, u32 log_level, char __user *log_ubuf, u32 log_size)
返回类型:struct btf
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| void __user * | btf_data | |
| u32 | btf_data_size | |
| u32 | log_level | |
| char __user * | log_ubuf | |
| u32 | log_size |
| 3364 | struct btf_verifier_env * env = NULL |
| 3370 | 如果btf_data_size大于16MB for 64k structs and each has 16 members and* a few MB spaces for the string section.* The hard limit is S32_MAX.则返回:错误号 |
| 3395 | 如果非btf则 |
| 3402 | 如果非data则 |
| 3408 | data_size等于btf_data_size |
| 3410 | 如果copy_from_user(data, btf_data, btf_data_size)则 |
| 3415 | err等于btf_parse_hdr(env) |
| 3419 | nohdr_data等于data加hdr_len |
| 3421 | err等于btf_parse_str_sec(env) |
| 3425 | err等于btf_parse_type_sec(env) |
| 3429 | 如果level且bpf_verifier_log_full(log)则 |
| 3434 | btf_verifier_env_free(env) |
| 3436 | 返回:btf |
| 3438 | errout : |
| 3439 | btf_verifier_env_free(env) |
| 3442 | 返回:错误号 |
| 名称 | 描述 |
|---|---|
| btf_new_fd |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |