]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
bpf: Allow overwriting referenced dynptr when refcnt > 1
authorAmery Hung <ameryhung@gmail.com>
Mon, 6 Apr 2026 15:05:47 +0000 (08:05 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 8 Apr 2026 01:20:49 +0000 (18:20 -0700)
commit017f5c4ef73c99ab4cdda3470a5310dc42094949
treeccd3f9ac463621b21abdca7288e21226af1ca461
parentcac16ce1e3786bd98cec0c108e3bc06ed3d3c6a9
bpf: Allow overwriting referenced dynptr when refcnt > 1

The verifier currently does not allow overwriting a referenced dynptr's
stack slot to prevent resource leak. This is because referenced dynptr
holds additional resources that requires calling specific helpers to
release. This limitation can be relaxed when there are multiple copies
of the same dynptr. Whether it is the orignial dynptr or one of its
clones, as long as there exists at least one other dynptr with the same
ref_obj_id (to be used to release the reference), its stack slot should
be allowed to be overwritten.

Suggested-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Amery Hung <ameryhung@gmail.com>
Acked-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Link: https://lore.kernel.org/r/20260406150548.1354271-2-ameryhung@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
kernel/bpf/verifier.c