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 |