函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:an be called without bucket lock. it will repeat the loop in* the unlikely event when elements moved from one bucket into another* while link list is being walked

函数原型:static struct htab_elem *lookup_nulls_elem_raw(struct hlist_nulls_head *head, u32 hash, void *key, u32 key_size, u32 n_buckets)

返回类型:struct htab_elem

参数:

类型参数名称
struct hlist_nulls_head *head
u32hash
void *key
u32key_size
u32n_buckets
445  again :
446  hlist_nulls_for_each_entry_rcu - iterate over rcu list of given type*@tpos: the type * to use as a loop cursor.*@pos: the &struct hlist_nulls_node to use as a loop cursor.*@head: the head for your list.(l, n, head, hash_node)
447  如果hash恒等于hash且非内存比较则返回:l
450  如果此条件成立可能性小(为编译器优化)(得到链尾空值 != (hash & (n_buckets - 1)))则转到:again
453  返回:NULL
调用者
名称描述
__htab_map_lookup_elemCalled from syscall or from eBPF program directly, so* arguments have to match bpf_map_lookup_elem() exactly.* The return value is adjusted by BPF instructions* in htab_map_gen_lookup().
htab_map_get_next_keyCalled from syscall
htab_map_update_elemCalled from syscall or from eBPF program