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 |