libbpf: Don't return -EINVAL if hdr_len < offsetofend(core_relo_len)
authorYuntao Wang <ytcoode@gmail.com>
Mon, 4 Apr 2022 00:53:20 +0000 (08:53 +0800)
committerAndrii Nakryiko <andrii@kernel.org>
Mon, 4 Apr 2022 02:56:01 +0000 (19:56 -0700)
commite93f39998d8f8ed456dfbb4ca68f9a159906cc6f
tree2d6f3af729a40046500f17db7d3a589331d241aa
parent88d01a57113a361c1e62abaeed0563745d637888
libbpf: Don't return -EINVAL if hdr_len < offsetofend(core_relo_len)

Since core relos is an optional part of the .BTF.ext ELF section, we should
skip parsing it instead of returning -EINVAL if header size is less than
offsetofend(struct btf_ext_header, core_relo_len).

Signed-off-by: Yuntao Wang <ytcoode@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20220404005320.1723055-1-ytcoode@gmail.com
tools/lib/bpf/btf.c