mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-16 17:57:38 -04:00
selftests/bpf: Fix outdated test on storage->smap
bpf_local_storage_free() already does not rely on local_storage->smap since switching to kmalloc_nolock(). As local_storage->smap is removed, fix the outdated test by dropping the local_storage->smap check. Keep the second map in task local storage map test to test that multiple elements can be added to the storage similar to sk storage test. 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-18-ameryhung@gmail.com
This commit is contained in:
committed by
Martin KaFai Lau
parent
cdce7b0848
commit
97b859b5ed
@@ -62,7 +62,6 @@ SEC("lsm/inode_unlink")
|
||||
int BPF_PROG(unlink_hook, struct inode *dir, struct dentry *victim)
|
||||
{
|
||||
__u32 pid = bpf_get_current_pid_tgid() >> 32;
|
||||
struct bpf_local_storage *local_storage;
|
||||
struct local_storage *storage;
|
||||
struct task_struct *task;
|
||||
bool is_self_unlink;
|
||||
@@ -88,15 +87,10 @@ int BPF_PROG(unlink_hook, struct inode *dir, struct dentry *victim)
|
||||
if (!storage || storage->value)
|
||||
return 0;
|
||||
|
||||
if (bpf_task_storage_delete(&task_storage_map, task))
|
||||
if (bpf_task_storage_delete(&task_storage_map2, task))
|
||||
return 0;
|
||||
|
||||
/* Ensure that the task_storage_map is disconnected from the storage.
|
||||
* The storage memory should not be freed back to the
|
||||
* bpf_mem_alloc.
|
||||
*/
|
||||
local_storage = task->bpf_storage;
|
||||
if (!local_storage || local_storage->smap)
|
||||
if (bpf_task_storage_delete(&task_storage_map, task))
|
||||
return 0;
|
||||
|
||||
task_storage_result = 0;
|
||||
@@ -164,18 +158,9 @@ int BPF_PROG(socket_bind, struct socket *sock, struct sockaddr *address,
|
||||
if (bpf_sk_storage_delete(&sk_storage_map2, sk))
|
||||
return 0;
|
||||
|
||||
storage = bpf_sk_storage_get(&sk_storage_map2, sk, 0,
|
||||
BPF_LOCAL_STORAGE_GET_F_CREATE);
|
||||
if (!storage)
|
||||
return 0;
|
||||
|
||||
if (bpf_sk_storage_delete(&sk_storage_map, sk))
|
||||
return 0;
|
||||
|
||||
/* Ensure that the sk_storage_map is disconnected from the storage. */
|
||||
if (!sk->sk_bpf_storage || sk->sk_bpf_storage->smap)
|
||||
return 0;
|
||||
|
||||
sk_storage_result = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user