函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:check_packet_access

函数原型:static int check_packet_access(struct bpf_verifier_env *env, u32 regno, int off, int size, bool zero_size_allowed)

返回类型:int

参数:

类型参数名称
struct bpf_verifier_env *env
u32regno
intoff
intsize
boolzero_size_allowed
2363  regs等于cur_regs(env)
2364  reg等于regs[regno]
2375  如果 minimum possible (s64)value 小于0则
2376  verbose(env, "R%d min value is negative, either use unsigned index or do a if (index >=0) check.\n", regno)
2378  返回:负EACCES
2380  err等于__check_packet_access(env, regno, off, size, zero_size_allowed)
2381  如果err
2382  verbose(env, "R%d offset is outside of the packet\n", regno)
2383  返回:err
2392  max_pkt_offset等于max_t - return maximum of two values, using the specified type*@type: data type to use*@x: first value*@y: second value(u32, max_pkt_offset, off + maximum possible (u64)value + size - 1)
2396  返回:err
调用者
名称描述
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 &&
check_helper_mem_access