]> git.hungrycats.org Git - linux/commit
libbpf: Ensure new BTF objects inherit input endianness
authorTony Ambardar <tony.ambardar@gmail.com>
Fri, 30 Aug 2024 09:51:50 +0000 (02:51 -0700)
committerAndrii Nakryiko <andrii@kernel.org>
Fri, 30 Aug 2024 17:41:01 +0000 (10:41 -0700)
commitda18bfa59d403040d8bcba1284285916fe9e4425
treeebbbc987d1eeada3a535ab890b00434a1462a469
parent65ef66d918039c9e012437f2ec57f2bef76faf15
libbpf: Ensure new BTF objects inherit input endianness

New split BTF needs to preserve base's endianness. Similarly, when
creating a distilled BTF, we need to preserve original endianness.

Fix by updating libbpf's btf__distill_base() and btf_new_empty() to retain
the byte order of any source BTF objects when creating new ones.

Fixes: ba451366bf44 ("libbpf: Implement basic split BTF support")
Fixes: 58e185a0dc35 ("libbpf: Add btf__distill_base() creating split BTF with distilled base BTF")
Reported-by: Song Liu <song@kernel.org>
Reported-by: Eduard Zingerman <eddyz87@gmail.com>
Suggested-by: Eduard Zingerman <eddyz87@gmail.com>
Signed-off-by: Tony Ambardar <tony.ambardar@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Tested-by: Alan Maguire <alan.maguire@oracle.com>
Acked-by: Eduard Zingerman <eddyz87@gmail.com>
Link: https://lore.kernel.org/bpf/6358db36c5f68b07873a0a5be2d062b1af5ea5f8.camel@gmail.com/
Link: https://lore.kernel.org/bpf/20240830095150.278881-1-tony.ambardar@gmail.com
tools/lib/bpf/btf.c