函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\bpf\verifier.c Create Date:2022-07-27 14:11:17
Last Modify:2022-05-19 20:02:10 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:check_stack_access

函数原型:static int check_stack_access(struct bpf_verifier_env *env, const struct bpf_reg_state *reg, int off, int size)

返回类型:int

参数:

类型参数名称
struct bpf_verifier_env *env
const struct bpf_reg_state *reg
intoff
intsize
2178  如果非Returns true if @a is a known constant
2181  Format a tnum as a pair of hex numbers (value; mask)
2182  verbose(env, "variable stack access var_off=%s off=%d size=%d\n", tn_buf, off, size)
2184  返回:负EACCES
2187  如果off大于等于0或off小于负BPF program can access up to 512 bytes of stack space.
2188  verbose(env, "invalid stack off=%d size=%d\n", off, size)
2189  返回:负EACCES
2192  返回:0
调用者
名称描述
check_mem_accessheck 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 &&
adjust_ptr_min_max_valsHandles arithmetic on a pointer and a scalar: computes new min/max and var_off.* Caller should also handle BPF_MOV case separately.* If we return -EACCES, caller may want to try again treating pointer as a* scalar