Function report |
Source Code:kernel\bpf\btf.c |
Create Date:2022-07-28 13:20:32 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:btf_parse
Proto:static struct btf *btf_parse(void __user *btf_data, u32 btf_data_size, u32 log_level, char __user *log_ubuf, u32 log_size)
Type:struct btf
Parameter:
| Type | Parameter | Name |
|---|---|---|
| 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 | If 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. Then Return ERR_PTR( - E2BIG) |
| 3373 | env = kzalloc - allocate memory. The memory is set to zero.*@size: how many bytes of memory are required.*@flags: the type of memory to allocate (see kmalloc). |
| 3394 | btf = kzalloc - allocate memory. The memory is set to zero.*@size: how many bytes of memory are required.*@flags: the type of memory to allocate (see kmalloc). |
| 3395 | If Not btf Then |
| 3402 | If Not data Then |
| 3408 | data_size = btf_data_size |
| 3410 | If copy_from_user(data, btf_data, btf_data_size) Then |
| 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 | If level && bpf_verifier_log_full(log) Then |
| 3434 | btf_verifier_env_free(env) |
| 3436 | Return btf |
| 3438 | errout : |
| 3439 | btf_verifier_env_free(env) |
| Name | Describe |
|---|---|
| btf_new_fd |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |