函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\bpf\queue_stack_maps.c Create Date:2022-07-27 14:32:00
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:__stack_map_get

函数原型:static int __stack_map_get(struct bpf_map *map, void *value, bool delete)

返回类型:int

参数:

类型参数名称
struct bpf_map *map
void *value
booldelete
145  qs等于bpf_queue_stack(map)
147  err等于0
151  raw_spin_lock_irqsave( & lock, flags)
153  如果queue_stack_map_is_empty(qs)则
154  memset(value, 0, value_size)
155  err等于负ENOENT
156  转到:out
159  index等于head减1
160  如果此条件成立可能性小(为编译器优化)(index >= max_entries + 1 )则index等于 max_entries + 1 减1
163  ptr等于elements[index * value_size]
164  内存复制(value, ptr, value_size)
166  如果deletehead等于index
169  out :
170  raw_spin_unlock_irqrestore( & lock, flags)
171  返回:err
调用者
名称描述
stack_map_peek_elemCalled from syscall or from eBPF program
stack_map_pop_elemCalled from syscall or from eBPF program