Function report | 
Source Code:kernel\bpf\verifier.c | 
Create Date:2022-07-28 12:58:27 | 
| Last Modify:2022-05-19 20:02:10 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:check_ptr_to_btf_access
Proto:static int check_ptr_to_btf_access(struct bpf_verifier_env *env, struct bpf_reg_state *regs, int regno, int off, int size, enum bpf_access_type atype, int value_regno)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct bpf_verifier_env * | env | |
| struct bpf_reg_state * | regs | |
| int | regno | |
| int | off | |
| int | size | |
| enum bpf_access_type | atype | |
| int | value_regno | 
| 2856 | t = btf_type_by_id(btf_vmlinux, for PTR_TO_BTF_ID ) | 
| 2857 | tname = btf_name_by_offset(btf_vmlinux, name_off) | 
| 2866 | If off < 0 Then | 
| 2870 | Return -EACCES | 
| 2872 | If Not Returns true if @a is a known constant || value Then | 
| 2876 | verbose(env, "R%d is ptr_%s invalid variable offset: off=%d, var_off=%s\n", regno, tname, off, tn_buf) | 
| 2879 | Return -EACCES | 
| 2886 | If ret == g doesn't contain a valid pointer Then | 
| 2887 | mark_reg_unknown(env, regs, value_regno) | 
| 2888 | Return 0 | 
| 2890 | mark_reg_known_zero(env, regs, value_regno) | 
| 2892 | for PTR_TO_BTF_ID = btf_id | 
| 2893 | Return 0 | 
| Name | Describe | 
|---|---|
| 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 && | 
| 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  |