]> git.ipfire.org Git - thirdparty/linux.git/commit
bpftool: Fix vmlinux BTF leak in cgroup commands
authorYichong Chen <chenyichong@uniontech.com>
Wed, 17 Jun 2026 09:01:17 +0000 (17:01 +0800)
committerAlexei Starovoitov <ast@kernel.org>
Mon, 22 Jun 2026 01:02:10 +0000 (18:02 -0700)
commitbda6a7308ef8e79cfbb7d09e48e1c7ffaa522269
tree2af86e933711775e9fc3a87f814bf807e6b36c74
parentd5dc200c3a3f217de072af269dd90adddf90e48d
bpftool: Fix vmlinux BTF leak in cgroup commands

bpftool cgroup show and tree call libbpf_find_kernel_btf() to
resolve attach_btf names, but never release the returned BTF object.

For cgroup tree, do_show_tree_fn() is called once for each cgroup
visited by nftw(). When more than one cgroup has attached programs,
each callback overwrites btf_vmlinux with a new object and loses the
previous allocation.

Load vmlinux BTF only once during a tree walk and release it when
cgroup show or tree completes. Reset btf_vmlinux_id at the same time
so batch mode starts with clean state.

Fixes: 596f5fb2ea2a ("bpftool: implement cgroup tree for BPF_LSM_CGROUP")
Signed-off-by: Yichong Chen <chenyichong@uniontech.com>
Reviewed-by: Quentin Monnet <qmo@kernel.org>
Link: https://lore.kernel.org/r/24357C69B4405079+20260617090117.280222-1-chenyichong@uniontech.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/bpf/bpftool/cgroup.c