]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
libbpf: Fix incorrect traversal end type ID when marking BTF_IS_EMBEDDED
authorPu Lehui <pulehui@huawei.com>
Wed, 15 Jan 2025 10:02:40 +0000 (10:02 +0000)
committerAndrii Nakryiko <andrii@kernel.org>
Thu, 16 Jan 2025 23:34:18 +0000 (15:34 -0800)
commit5ca681a86ef93369685cb63f71994f4cf7303e7c
treeaac02d452804941dfb0e6856c741b033b5d6ca2b
parent5436a54332c19df0acbef2b87cbf9f7cba56f2dd
libbpf: Fix incorrect traversal end type ID when marking BTF_IS_EMBEDDED

When redirecting the split BTF to the vmlinux base BTF, we need to mark
the distilled base struct/union members of split BTF structs/unions in
id_map with BTF_IS_EMBEDDED. This indicates that these types must match
both name and size later. Therefore, we need to traverse the entire
split BTF, which involves traversing type IDs from nr_dist_base_types to
nr_types. However, the current implementation uses an incorrect
traversal end type ID, so let's correct it.

Fixes: 19e00c897d50 ("libbpf: Split BTF relocation")
Signed-off-by: Pu Lehui <pulehui@huawei.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20250115100241.4171581-3-pulehui@huaweicloud.com
tools/lib/bpf/btf_relocate.c