]> 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 13:02:59 +0000 (14:02 +0100)
commit4a03d69cece145e4fb527464be29c3806aa3221e
tree4f6635125389110a0779963e75d56d3e576990e9
parent2f13baf62bbd1b38e82b04f062c86e75ee1155a6
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