函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:record_func_map

函数原型:static int record_func_map(struct bpf_verifier_env *env, struct bpf_call_arg_meta *meta, int func_id, int insn_idx)

返回类型:int

参数:

类型参数名称
struct bpf_verifier_env *env
struct bpf_call_arg_meta *meta
intfunc_id
intinsn_idx
4090  aux等于array of per-insn state [insn_idx]
4091  map等于map_ptr
4093  如果func_id不等于BPF_FUNC_tail_callfunc_id不等于BPF_FUNC_map_lookup_elemfunc_id不等于BPF_FUNC_map_update_elemfunc_id不等于BPF_FUNC_map_delete_elemfunc_id不等于BPF_FUNC_map_push_elemfunc_id不等于BPF_FUNC_map_pop_elemfunc_id不等于BPF_FUNC_map_peek_elem则返回:0
4102  如果(map == NULL)则
4103  verbose(env, "kernel subsystem misconfigured verifier\n")
4104  返回:负EINVAL
4111  如果map_flags按位与Flags for accessing BPF object from program side. func_id恒等于BPF_FUNC_map_delete_elemfunc_id恒等于BPF_FUNC_map_update_elemfunc_id恒等于BPF_FUNC_map_push_elemfunc_id恒等于BPF_FUNC_map_pop_elem的值则
4116  verbose(env, "write into map forbidden\n")
4117  返回:负EACCES
4120  如果非BPF_MAP_PTR( pointer/poison value for maps )则bpf_map_ptr_store(aux, map_ptr, unpriv_array)
4123  否则如果BPF_MAP_PTR( pointer/poison value for maps )不等于map_ptrbpf_map_ptr_store(aux, BPF_MAP_PTR_POISON, unpriv_array)
4126  返回:0
调用者
名称描述
check_helper_call