函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:alloc_stack_state()

函数原型:static int realloc_stack_state(struct bpf_func_state *state, int size, bool copy_old)

返回类型:int

参数:

类型参数名称
struct bpf_func_state *state
intsize
boolcopy_old
651  old_size等于allocated_stack
651  slot等于size除8
651  如果size小于等于old_size或非size
651  如果copy_old则返回:0
651  allocated_stack等于slot乘8
651  如果非sizeold_size
651  kfree(stack)
651  stack = NULL
651  返回:0
651  new_stack等于分配数组内存
651  如果非new_stack则返回:负ENOMEM
651  如果copy_old
651  如果stackgcc 内建函数 需要声明
651  __builtin_memset(new_stack + old_size / 8, 0, new_stack的长度 * (size - old_size) / 8)
651  allocated_stack等于slot乘8
651  kfree(stack)
651  stack等于new_stack
651  返回:0
调用者
名称描述
realloc_func_statedo_check() starts with zero-sized stack in struct bpf_verifier_state to* make it consume minimal amount of memory