linux-next: build failure after merge of the bpf-next tree
From: Thierry Reding <thierry.reding@kernel.org>
Date: 2026-04-27 13:26:11
Also in:
bpf, linux-next, lkml
Subsystem:
performance events subsystem, the rest · Maintainers:
Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Namhyung Kim, Linus Torvalds
Hi all,
After merging the bpf-next tree, today's linux-next build (x86_64_perf)
failed like this:
CC builtin-trace.o
builtin-trace.c: In function ‘syscall_arg__strtoul_btf_enum’:
builtin-trace.c:972:27: error: comparison of integer expressions of different signedness: ‘int’ and ‘__u32’ {aka ‘unsigned int’} [-Werror=sign-compare]
972 | for (int i = 0; i < btf_vlen(bt); ++i, ++be) {
| ^
CC util/btf.o
util/btf.c: In function ‘__btf_type__find_member_by_name’:
util/btf.c:19:43: error: comparison of integer expressions of different signedness: ‘int’ and ‘__u32’ {aka ‘unsigned int’} [-Werror=sign-compare]
19 | for (i = 0, m = btf_members(t); i < btf_vlen(t); i++, m++) {
| ^
Caused by commit
f7a6b9eaff3e ("bpf: Extend BTF UAPI vlen, kinds to use unused bits")
I've fixed it up like below, but please fix this in your tree as well.
Thanks,
Thierry
--- >8 ---From 4689669414ed7de19a69803714bc04e96fd82618 Mon Sep 17 00:00:00 2001 From: Thierry Reding <redacted> Date: Mon, 27 Apr 2026 12:32:06 +0200 Subject: [PATCH] perf: Fixup for btf_vlan() API change Signed-off-by: Thierry Reding <redacted> --- tools/perf/builtin-trace.c | 2 +- tools/perf/util/btf.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index e58c49d047a2..d22e20a57b70 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c@@ -969,7 +969,7 @@ static bool syscall_arg__strtoul_btf_enum(char *bf, size_t size, struct syscall_ struct btf *btf = arg->trace->btf; struct btf_enum *be = btf_enum(bt); - for (int i = 0; i < btf_vlen(bt); ++i, ++be) { + for (u32 i = 0; i < btf_vlen(bt); ++i, ++be) { const char *name = btf__name_by_offset(btf, be->name_off); int max_len = max(size, strlen(name));
diff --git a/tools/perf/util/btf.c b/tools/perf/util/btf.c
index bb163fe87767..50d98f3e83bf 100644
--- a/tools/perf/util/btf.c
+++ b/tools/perf/util/btf.c@@ -14,7 +14,7 @@ const struct btf_member *__btf_type__find_member_by_name(struct btf *btf, { const struct btf_type *t = btf__type_by_id(btf, type_id); const struct btf_member *m; - int i; + u32 i; for (i = 0, m = btf_members(t); i < btf_vlen(t); i++, m++) { const char *current_member_name = btf__name_by_offset(btf, m->name_off);
--
2.52.0
--- >8 ---