Perf build failed on stable-rc 5.4 branch due to this patch.
On Mon, 28 Dec 2020 at 19:15, Greg Kroah-Hartman gregkh@linuxfoundation.org wrote:
From: Andrii Nakryiko andrii@kernel.org
[ Upstream commit d8123624506cd62730c9cd9c7672c698e462703d ]
Make data section layout checks stricter, disallowing overlap of types and strings data.
Additionally, allow BTFs with no type data. There is nothing inherently wrong with having BTF with no types (put potentially with some strings). This could be a situation with kernel module BTFs, if module doesn't introduce any new type information.
Also fix invalid offset alignment check for btf->hdr->type_off.
Fixes: 8a138aed4a80 ("bpf: btf: Add BTF support to libbpf") Signed-off-by: Andrii Nakryiko andrii@kernel.org Signed-off-by: Alexei Starovoitov ast@kernel.org Link: https://lore.kernel.org/bpf/20201105043402.2530976-8-andrii@kernel.org Signed-off-by: Sasha Levin sashal@kernel.org
tools/lib/bpf/btf.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/tools/lib/bpf/btf.c b/tools/lib/bpf/btf.c index d606a358480da..3380aadb74655 100644 --- a/tools/lib/bpf/btf.c +++ b/tools/lib/bpf/btf.c @@ -100,22 +100,18 @@ static int btf_parse_hdr(struct btf *btf) return -EINVAL; }
if (meta_left < hdr->type_off) {
pr_debug("Invalid BTF type section offset:%u\n", hdr->type_off);
if (meta_left < hdr->str_off + hdr->str_len) {
pr_debug("Invalid BTF total size:%u\n", btf->raw_size);
In file included from btf.c:17:0: btf.c: In function 'btf_parse_hdr': btf.c:104:48: error: 'struct btf' has no member named 'raw_size'; did you mean 'data_size'? pr_debug("Invalid BTF total size:%u\n", btf->raw_size); ^ libbpf_internal.h:59:40: note: in definition of macro '__pr' libbpf_print(level, "libbpf: " fmt, ##__VA_ARGS__); \ ^~~~~~~~~~~ btf.c:104:3: note: in expansion of macro 'pr_debug' pr_debug("Invalid BTF total size:%u\n", btf->raw_size); ^~~~~~~~
full build log link, https://ci.linaro.org/view/lkft/job/openembedded-lkft-linux-stable-rc-5.4/DI...