]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
bpf: Free special fields when update [lru_,]percpu_hash maps
authorLeon Hwang <leon.hwang@linux.dev>
Wed, 5 Nov 2025 15:14:06 +0000 (23:14 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Dec 2025 12:54:58 +0000 (13:54 +0100)
commit3bf1378747e251571e0de15e7e0a6bf2919044e7
treeebfaa7cc8bb5b55f54a8040d415ffd485d415c44
parent345e130c0b28d247d9fe50722593e03ef715f0ef
bpf: Free special fields when update [lru_,]percpu_hash maps

[ Upstream commit 6af6e49a76c9af7d42eb923703e7648cb2bf401a ]

As [lru_,]percpu_hash maps support BPF_KPTR_{REF,PERCPU}, missing
calls to 'bpf_obj_free_fields()' in 'pcpu_copy_value()' could cause the
memory referenced by BPF_KPTR_{REF,PERCPU} fields to be held until the
map gets freed.

Fix this by calling 'bpf_obj_free_fields()' after
'copy_map_value[,_long]()' in 'pcpu_copy_value()'.

Fixes: 65334e64a493 ("bpf: Support kptrs in percpu hashmap and percpu LRU hashmap")
Signed-off-by: Leon Hwang <leon.hwang@linux.dev>
Acked-by: Yonghong Song <yonghong.song@linux.dev>
Link: https://lore.kernel.org/r/20251105151407.12723-2-leon.hwang@linux.dev
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/bpf/hashtab.c