Re: [PATCH bpf v2] bpf: fix libelf endian handling in resolv_btfids

patchwork-bot+netdevbpf
2021-06-18T15:10:08Z

Hello:

This patch was applied to bpf/bpf.git (refs/heads/master):

On Thu, 17 Jun 2021 23:14:04 -0700 you wrote:
> The vmlinux ".BTF_ids" ELF section is declared in btf_ids.h to hold a list
> of zero-filled BTF IDs, which is then patched at link-time with correct
> values by resolv_btfids. The section is flagged as "allocable" to preclude
> compression, but notably the section contents (BTF IDs) are untyped.
>
> When patching the BTF IDs, resolve_btfids writes in host-native endianness
> and relies on libelf for any required translation on reading and updating
> vmlinux. However, since the type of the .BTF_ids section content defaults
> to ELF_T_BYTE (i.e. unsigned char), no translation occurs. This results in
> incorrect patched values when cross-compiling to non-native endianness,
> and can manifest as kernel Oops and test failures which are difficult to
> troubleshoot [1].
>
> [...]

Here is the summary with links:
- [bpf,v2] bpf: fix libelf endian handling in resolv_btfids
https://git.kernel.org/bpf/bpf/c/61e8aeda9398

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.