函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:heck access to 'struct bpf_context' fields. Supports fixed offsets only

函数原型:static int check_ctx_access(struct bpf_verifier_env *env, int insn_idx, int off, int size, enum bpf_access_type t, enum bpf_reg_type *reg_type, u32 *btf_id)

返回类型:int

参数:

类型参数名称
struct bpf_verifier_env *env
intinsn_idx
intoff
intsize
enum bpf_access_typet
enum bpf_reg_type *reg_type
u32 *btf_id
2404  struct bpf_insn_access_aux info = {reg_type = * reg_type, r verbose logs = & log, }
2409  如果is_valid_accessis_valid_access(off, size, t, BPF program being verified , & info)则
2418  reg_type等于reg_type
2420  如果reg_type恒等于g points to kernel struct btf_id等于btf_id
2422  否则 the ctx field size for load insn, maybe 0 等于ctx_field_size
2425  如果max_ctx_offset小于offsizemax_ctx_offset等于offsize
2427  返回:0
2430  verbose(env, "invalid bpf_context access off=%d size=%d\n", off, size)
2431  返回:负EACCES
调用者
名称描述
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 &&