Lines Matching refs:stab
33 struct bpf_stab *stab; in sock_map_alloc() local
42 stab = bpf_map_area_alloc(sizeof(*stab), NUMA_NO_NODE); in sock_map_alloc()
43 if (!stab) in sock_map_alloc()
46 bpf_map_init_from_attr(&stab->map, attr); in sock_map_alloc()
47 spin_lock_init(&stab->lock); in sock_map_alloc()
49 stab->sks = bpf_map_area_alloc((u64) stab->map.max_entries * in sock_map_alloc()
51 stab->map.numa_node); in sock_map_alloc()
52 if (!stab->sks) { in sock_map_alloc()
53 bpf_map_area_free(stab); in sock_map_alloc()
57 return &stab->map; in sock_map_alloc()
334 struct bpf_stab *stab = container_of(map, struct bpf_stab, map); in sock_map_free() local
342 for (i = 0; i < stab->map.max_entries; i++) { in sock_map_free()
343 struct sock **psk = &stab->sks[i]; in sock_map_free()
361 bpf_map_area_free(stab->sks); in sock_map_free()
362 bpf_map_area_free(stab); in sock_map_free()
372 struct bpf_stab *stab = container_of(map, struct bpf_stab, map); in __sock_map_lookup_elem() local
378 return READ_ONCE(stab->sks[key]); in __sock_map_lookup_elem()
408 static int __sock_map_delete(struct bpf_stab *stab, struct sock *sk_test, in __sock_map_delete() argument
414 spin_lock_bh(&stab->lock); in __sock_map_delete()
424 spin_unlock_bh(&stab->lock); in __sock_map_delete()
431 struct bpf_stab *stab = container_of(map, struct bpf_stab, map); in sock_map_delete_from_link() local
433 __sock_map_delete(stab, sk, link_raw); in sock_map_delete_from_link()
438 struct bpf_stab *stab = container_of(map, struct bpf_stab, map); in sock_map_delete_elem() local
445 psk = &stab->sks[i]; in sock_map_delete_elem()
446 return __sock_map_delete(stab, NULL, psk); in sock_map_delete_elem()
451 struct bpf_stab *stab = container_of(map, struct bpf_stab, map); in sock_map_get_next_key() local
455 if (i == stab->map.max_entries - 1) in sock_map_get_next_key()
457 if (i >= stab->map.max_entries) in sock_map_get_next_key()
467 struct bpf_stab *stab = container_of(map, struct bpf_stab, map); in sock_map_update_common() local
490 spin_lock_bh(&stab->lock); in sock_map_update_common()
491 osk = stab->sks[idx]; in sock_map_update_common()
500 sock_map_add_link(psock, link, map, &stab->sks[idx]); in sock_map_update_common()
501 stab->sks[idx] = sk; in sock_map_update_common()
503 sock_map_unref(osk, &stab->sks[idx]); in sock_map_update_common()
504 spin_unlock_bh(&stab->lock); in sock_map_update_common()
507 spin_unlock_bh(&stab->lock); in sock_map_update_common()