/kernel/linux/linux-6.6/kernel/bpf/ |
H A D | bpf_local_storage.c | 117 struct bpf_local_storage *local_storage; in __bpf_local_storage_free_trace_rcu() local 122 local_storage = container_of(rcu, struct bpf_local_storage, rcu); in __bpf_local_storage_free_trace_rcu() 124 kfree(local_storage); in __bpf_local_storage_free_trace_rcu() 126 kfree_rcu(local_storage, rcu); in __bpf_local_storage_free_trace_rcu() 131 struct bpf_local_storage *local_storage; in bpf_local_storage_free_rcu() local 133 local_storage = container_of(rcu, struct bpf_local_storage, rcu); in bpf_local_storage_free_rcu() 134 bpf_mem_cache_raw_free(local_storage); in bpf_local_storage_free_rcu() 146 static void __bpf_local_storage_free(struct bpf_local_storage *local_storage, in __bpf_local_storage_free() argument 150 kfree_rcu(local_storage, rcu); in __bpf_local_storage_free() 152 call_rcu_tasks_trace(&local_storage in __bpf_local_storage_free() 156 bpf_local_storage_free(struct bpf_local_storage *local_storage, struct bpf_local_storage_map *smap, bool bpf_ma, bool reuse_now) bpf_local_storage_free() argument 253 bpf_selem_unlink_storage_nolock(struct bpf_local_storage *local_storage, struct bpf_local_storage_elem *selem, bool uncharge_mem, bool reuse_now) bpf_selem_unlink_storage_nolock() argument 307 check_storage_bpf_ma(struct bpf_local_storage *local_storage, struct bpf_local_storage_map *storage_smap, struct bpf_local_storage_elem *selem) check_storage_bpf_ma() argument 346 struct bpf_local_storage *local_storage; bpf_selem_unlink_storage() local 370 bpf_selem_link_storage_nolock(struct bpf_local_storage *local_storage, struct bpf_local_storage_elem *selem) bpf_selem_link_storage_nolock() argument 419 bpf_local_storage_lookup(struct bpf_local_storage *local_storage, struct bpf_local_storage_map *smap, bool cacheit_lockit) bpf_local_storage_lookup() argument 557 struct bpf_local_storage *local_storage; bpf_local_storage_update() local 730 bpf_local_storage_destroy(struct bpf_local_storage *local_storage) bpf_local_storage_destroy() argument [all...] |
H A D | bpf_cgrp_storage.c | 48 struct bpf_local_storage *local_storage; in bpf_cgrp_storage_free() local 51 local_storage = rcu_dereference(cgroup->bpf_cgrp_storage); in bpf_cgrp_storage_free() 52 if (!local_storage) { in bpf_cgrp_storage_free() 58 bpf_local_storage_destroy(local_storage); in bpf_cgrp_storage_free()
|
H A D | bpf_inode_storage.c | 59 struct bpf_local_storage *local_storage; in bpf_inode_storage_free() local 68 local_storage = rcu_dereference(bsb->storage); in bpf_inode_storage_free() 69 if (!local_storage) { in bpf_inode_storage_free() 74 bpf_local_storage_destroy(local_storage); in bpf_inode_storage_free()
|
H A D | bpf_task_storage.c | 74 struct bpf_local_storage *local_storage; in bpf_task_storage_free() local 78 local_storage = rcu_dereference(task->bpf_storage); in bpf_task_storage_free() 79 if (!local_storage) { in bpf_task_storage_free() 85 bpf_local_storage_destroy(local_storage); in bpf_task_storage_free()
|
H A D | Makefile | 12 obj-$(CONFIG_BPF_SYSCALL) += local_storage.o queue_stack_maps.o ringbuf.o
|
/kernel/linux/linux-5.10/kernel/bpf/ |
H A D | bpf_local_storage.c | 93 /* local_storage->lock must be held and selem->local_storage == local_storage. 97 bool bpf_selem_unlink_storage_nolock(struct bpf_local_storage *local_storage, in bpf_selem_unlink_storage_nolock() argument 106 owner = local_storage->owner; in bpf_selem_unlink_storage_nolock() 110 * from local_storage. in bpf_selem_unlink_storage_nolock() 116 &local_storage->list); in bpf_selem_unlink_storage_nolock() 119 local_storage->owner = NULL; in bpf_selem_unlink_storage_nolock() 124 /* local_storage is not freed now. local_storage in bpf_selem_unlink_storage_nolock() 150 struct bpf_local_storage *local_storage; __bpf_selem_unlink_storage() local 168 bpf_selem_link_storage_nolock(struct bpf_local_storage *local_storage, struct bpf_local_storage_elem *selem) bpf_selem_link_storage_nolock() argument 214 bpf_local_storage_lookup(struct bpf_local_storage *local_storage, struct bpf_local_storage_map *smap, bool cacheit_lockit) bpf_local_storage_lookup() argument 337 struct bpf_local_storage *local_storage; bpf_local_storage_update() local [all...] |
H A D | bpf_inode_storage.c | 58 struct bpf_local_storage *local_storage; in bpf_inode_storage_free() local 69 local_storage = rcu_dereference(bsb->storage); in bpf_inode_storage_free() 70 if (!local_storage) { in bpf_inode_storage_free() 76 * could be modifying the local_storage->list now. in bpf_inode_storage_free() 78 * local_storage->list by the bpf_prog or by the bpf-map's syscall. in bpf_inode_storage_free() 81 * when unlinking elem from the local_storage->list and in bpf_inode_storage_free() 84 raw_spin_lock_bh(&local_storage->lock); in bpf_inode_storage_free() 85 hlist_for_each_entry_safe(selem, n, &local_storage->list, snode) { in bpf_inode_storage_free() 87 * local_storage. in bpf_inode_storage_free() 91 local_storage, sele in bpf_inode_storage_free() [all...] |
H A D | Makefile | 11 obj-$(CONFIG_BPF_SYSCALL) += local_storage.o queue_stack_maps.o ringbuf.o
|
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/progs/ |
H A D | local_storage.c | 21 struct local_storage { struct 30 __type(value, struct local_storage); 37 __type(value, struct local_storage); 44 __type(value, struct local_storage); 51 __type(value, struct local_storage); 58 __type(value, struct local_storage); 65 struct bpf_local_storage *local_storage; in BPF_PROG() local 66 struct local_storage *storage; in BPF_PROG() 98 local_storage = task->bpf_storage; in BPF_PROG() 99 if (!local_storage || local_storag in BPF_PROG() [all...] |
H A D | sk_storage_omem_uncharge.c | 25 int BPF_PROG(bpf_local_storage_destroy, struct bpf_local_storage *local_storage) in BPF_PROG() argument 29 if (local_storage_ptr != local_storage) in BPF_PROG()
|
/kernel/linux/linux-5.10/include/linux/ |
H A D | bpf_local_storage.h | 71 struct bpf_local_storage __rcu *local_storage; member 125 bpf_local_storage_lookup(struct bpf_local_storage *local_storage, 136 void bpf_selem_link_storage_nolock(struct bpf_local_storage *local_storage, 139 bool bpf_selem_unlink_storage_nolock(struct bpf_local_storage *local_storage,
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | bpf_local_storage.h | 79 struct bpf_local_storage __rcu *local_storage; member 133 bpf_local_storage_lookup(struct bpf_local_storage *local_storage, 137 void bpf_local_storage_destroy(struct bpf_local_storage *local_storage); 148 void bpf_selem_link_storage_nolock(struct bpf_local_storage *local_storage,
|
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/prog_tests/ |
H A D | test_local_storage.c | 12 #include "local_storage.skel.h" 26 static int run_self_unlink(struct local_storage *skel, const char *rm_path) in run_self_unlink() 95 struct local_storage *skel = NULL; in test_test_local_storage()
|
/kernel/linux/linux-5.10/tools/testing/selftests/bpf/prog_tests/ |
H A D | test_local_storage.c | 10 #include "local_storage.skel.h" 29 struct local_storage *skel = NULL; in test_test_local_storage()
|
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/benchs/ |
H A D | run_common.sh | 44 function local_storage() function 84 printf "%-20s %s\n" "$bench" "$(local_storage $summary)"
|
/kernel/linux/linux-5.10/net/core/ |
H A D | bpf_sk_storage.c | 240 rcu_dereference(copy_selem->local_storage); in bpf_sk_storage_clone() 689 sk_storage = rcu_dereference(selem->local_storage); in __acquires() 702 sk_storage = rcu_dereference(selem->local_storage); in __acquires() 769 sk_storage = rcu_dereference(selem->local_storage); in __bpf_sk_storage_map_seq_show()
|
/kernel/linux/linux-6.6/net/core/ |
H A D | bpf_sk_storage.c | 208 rcu_dereference(copy_selem->local_storage); in bpf_sk_storage_clone() 738 sk_storage = rcu_dereference(selem->local_storage); in __acquires() 751 sk_storage = rcu_dereference(selem->local_storage); in __acquires() 818 sk_storage = rcu_dereference(selem->local_storage); in __bpf_sk_storage_map_seq_show()
|