]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
bpf: Remove unused percpu counter from bpf_local_storage_map_free
authorAmery Hung <ameryhung@gmail.com>
Thu, 5 Feb 2026 22:29:06 +0000 (14:29 -0800)
committerMartin KaFai Lau <martin.lau@kernel.org>
Fri, 6 Feb 2026 22:29:18 +0000 (14:29 -0800)
Percpu locks have been removed from cgroup and task local storage. Now
that all local storage no longer use percpu variables as locks preventing
recursion, there is no need to pass them to bpf_local_storage_map_free().
Remove the argument from the function.

Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Amery Hung <ameryhung@gmail.com>
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Link: https://patch.msgid.link/20260205222916.1788211-9-ameryhung@gmail.com
include/linux/bpf_local_storage.h
kernel/bpf/bpf_cgrp_storage.c
kernel/bpf/bpf_inode_storage.c
kernel/bpf/bpf_local_storage.c
kernel/bpf/bpf_task_storage.c
net/core/bpf_sk_storage.c

index fa50b7afee189fb6f10abeb8f64bc9047a2691d1..fba3354988d3ccd3b8a73b574fd6c872d74c3a0a 100644 (file)
@@ -166,8 +166,7 @@ bpf_local_storage_lookup(struct bpf_local_storage *local_storage,
 void bpf_local_storage_destroy(struct bpf_local_storage *local_storage);
 
 void bpf_local_storage_map_free(struct bpf_map *map,
-                               struct bpf_local_storage_cache *cache,
-                               int __percpu *busy_counter);
+                               struct bpf_local_storage_cache *cache);
 
 int bpf_local_storage_map_check_btf(const struct bpf_map *map,
                                    const struct btf *btf,
index 4d84611d822292691b94a8140a421176169fe85b..853183eead2c24114488ccd2568cd0e0a2492075 100644 (file)
@@ -119,7 +119,7 @@ static struct bpf_map *cgroup_storage_map_alloc(union bpf_attr *attr)
 
 static void cgroup_storage_map_free(struct bpf_map *map)
 {
-       bpf_local_storage_map_free(map, &cgroup_cache, NULL);
+       bpf_local_storage_map_free(map, &cgroup_cache);
 }
 
 /* *gfp_flags* is a hidden argument provided by the verifier */
index cedc99184daddb92612467f8f0cd4fd8d50cfb5c..470f4b02c79ea2ab07adfef0791387549e1f46c9 100644 (file)
@@ -184,7 +184,7 @@ static struct bpf_map *inode_storage_map_alloc(union bpf_attr *attr)
 
 static void inode_storage_map_free(struct bpf_map *map)
 {
-       bpf_local_storage_map_free(map, &inode_cache, NULL);
+       bpf_local_storage_map_free(map, &inode_cache);
 }
 
 const struct bpf_map_ops inode_storage_map_ops = {
index 1138e2293b509166c85ac18f04841e5c7ac298e4..76e812a40380cfcbd0f8e9e452dfd007ec332d2b 100644 (file)
@@ -807,8 +807,7 @@ free_smap:
 }
 
 void bpf_local_storage_map_free(struct bpf_map *map,
-                               struct bpf_local_storage_cache *cache,
-                               int __percpu *busy_counter)
+                               struct bpf_local_storage_cache *cache)
 {
        struct bpf_local_storage_map_bucket *b;
        struct bpf_local_storage_elem *selem;
@@ -841,11 +840,7 @@ void bpf_local_storage_map_free(struct bpf_map *map,
                while ((selem = hlist_entry_safe(
                                rcu_dereference_raw(hlist_first_rcu(&b->list)),
                                struct bpf_local_storage_elem, map_node))) {
-                       if (busy_counter)
-                               this_cpu_inc(*busy_counter);
                        bpf_selem_unlink(selem, true);
-                       if (busy_counter)
-                               this_cpu_dec(*busy_counter);
                        cond_resched_rcu();
                }
                rcu_read_unlock();
index dd858226ada2d5655120f7adf01ad6fa555848c6..4d53aebe67848b453ccae0ba1f05ef5d1d6b44fd 100644 (file)
@@ -217,7 +217,7 @@ static struct bpf_map *task_storage_map_alloc(union bpf_attr *attr)
 
 static void task_storage_map_free(struct bpf_map *map)
 {
-       bpf_local_storage_map_free(map, &task_cache, NULL);
+       bpf_local_storage_map_free(map, &task_cache);
 }
 
 BTF_ID_LIST_GLOBAL_SINGLE(bpf_local_storage_map_btf_id, struct, bpf_local_storage_map)
index d7b5c455199796f0fea8788574168ac726148c16..d2164165a994e8160d609d556a12adf8b125104b 100644 (file)
@@ -60,7 +60,7 @@ out:
 
 static void bpf_sk_storage_map_free(struct bpf_map *map)
 {
-       bpf_local_storage_map_free(map, &sk_cache, NULL);
+       bpf_local_storage_map_free(map, &sk_cache);
 }
 
 static struct bpf_map *bpf_sk_storage_map_alloc(union bpf_attr *attr)