函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Called from syscall or from eBPF program

函数原型:static int queue_stack_map_push_elem(struct bpf_map *map, void *value, u64 flags)

返回类型:int

参数:

类型参数名称
struct bpf_map *map
void *value
u64flags
202  qs等于bpf_queue_stack(map)
204  err等于0
210  replace等于flags按位与update existing element
213  如果flags按位与create new element if it didn't exist flags大于update existing element 则返回:负EINVAL
216  raw_spin_lock_irqsave( & lock, irq_flags)
218  如果queue_stack_map_is_full(qs)则
219  如果非replace
220  err等于负E2BIG
221  转到:out
224  如果此条件成立可能性小(为编译器优化)(++tail >= max_entries + 1 )则tail等于0
228  dst等于elements[head * value_size]
229  内存复制(dst, value, value_size)
231  如果此条件成立可能性小(为编译器优化)(++head >= max_entries + 1 )则head等于0
234  out :
235  raw_spin_unlock_irqrestore( & lock, irq_flags)
236  返回:err