Commit 3417dffb authored by Amery Hung's avatar Amery Hung Committed by Martin KaFai Lau
Browse files

bpf: Remove unused percpu counter from bpf_local_storage_map_free



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: default avatarAlexei Starovoitov <ast@kernel.org>
Signed-off-by: default avatarAmery Hung <ameryhung@gmail.com>
Signed-off-by: default avatarMartin KaFai Lau <martin.lau@kernel.org>
Link: https://patch.msgid.link/20260205222916.1788211-9-ameryhung@gmail.com
parent 5254de7b
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -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,
+1 −1
Original line number Diff line number Diff line
@@ -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 */
+1 −1
Original line number Diff line number Diff line
@@ -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 = {
+1 −6
Original line number Diff line number Diff line
@@ -807,8 +807,7 @@ bpf_local_storage_map_alloc(union bpf_attr *attr,
}

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();
+1 −1
Original line number Diff line number Diff line
@@ -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)
Loading