Lines Matching defs:elem

884 	struct bpf_shtab_elem *elem;
886 hlist_for_each_entry_rcu(elem, head, node) {
887 if (elem->hash == hash &&
888 !memcmp(&elem->key, key, key_size))
889 return elem;
900 struct bpf_shtab_elem *elem;
906 elem = sock_hash_lookup_elem_raw(&bucket->head, hash, key, key_size);
908 return elem ? elem->sk : NULL;
912 struct bpf_shtab_elem *elem)
915 kfree_rcu(elem, rcu);
922 struct bpf_shtab_elem *elem_probe, *elem = link_raw;
926 bucket = sock_hash_select_bucket(htab, elem->hash);
928 /* elem may be deleted in parallel from the map, but access here
933 elem_probe = sock_hash_lookup_elem_raw(&bucket->head, elem->hash,
934 elem->key, map->key_size);
935 if (elem_probe && elem_probe == elem) {
936 hlist_del_rcu(&elem->node);
937 sock_map_unref(elem->sk, elem);
938 sock_hash_free_elem(htab, elem);
948 struct bpf_shtab_elem *elem;
958 elem = sock_hash_lookup_elem_raw(&bucket->head, hash, key, key_size);
959 if (elem) {
960 hlist_del_rcu(&elem->node);
961 sock_map_unref(elem->sk, elem);
962 sock_hash_free_elem(htab, elem);
1001 struct bpf_shtab_elem *elem, *elem_new;
1026 elem = sock_hash_lookup_elem_raw(&bucket->head, hash, key, key_size);
1027 if (elem && flags == BPF_NOEXIST) {
1030 } else if (!elem && flags == BPF_EXIST) {
1035 elem_new = sock_hash_alloc_elem(htab, key, key_size, hash, sk, elem);
1043 * concurrent search will find it before old elem.
1046 if (elem) {
1047 hlist_del_rcu(&elem->node);
1048 sock_map_unref(elem->sk, elem);
1049 sock_hash_free_elem(htab, elem);
1065 struct bpf_shtab_elem *elem, *elem_next;
1074 elem = sock_hash_lookup_elem_raw(head, hash, key, key_size);
1075 if (!elem)
1078 elem_next = hlist_entry_safe(rcu_dereference(hlist_next_rcu(&elem->node)),
1154 struct bpf_shtab_elem *elem;
1173 hlist_for_each_entry(elem, &bucket->head, node)
1174 sock_hold(elem->sk);
1182 hlist_for_each_entry_safe(elem, node, &unlink_list, node) {
1183 hlist_del(&elem->node);
1184 lock_sock(elem->sk);
1186 sock_map_unref(elem->sk, elem);
1188 release_sock(elem->sk);
1189 sock_put(elem->sk);
1190 sock_hash_free_elem(htab, elem);
1321 struct bpf_shtab_elem *elem;
1324 /* try to find next elem in the same bucket */
1327 elem = hlist_entry_safe(node, struct bpf_shtab_elem, node);
1328 if (elem)
1329 return elem;
1338 elem = hlist_entry_safe(node, struct bpf_shtab_elem, node);
1339 if (elem)
1340 return elem;
1373 struct bpf_shtab_elem *elem = v;
1378 prog = bpf_iter_get_info(&meta, !elem);
1384 if (elem) {
1385 ctx.key = elem->key;
1386 ctx.sk = elem->sk;