From: Alexei Starovoitov ast@kernel.org
llvm 19 fails to compile arena self test: CLNG-BPF [test_progs] verifier_arena_large.bpf.o progs/verifier_arena_large.c:90:24: error: unsupported signed division, please convert to unsigned div/mod. 90 | pg_idx = (pg - base) / PAGE_SIZE;
Though llvm <= 18 and llvm >= 20 don't have this issue, fix the test to avoid the build error.
Reported-by: Jiri Olsa olsajiri@gmail.com Signed-off-by: Alexei Starovoitov ast@kernel.org (cherry picked from commit 608e99f7869e3a6e028c7cba14a896c7797e8746)
[Yifei: This fix is necessary to make the selfttest build with llvm19 if commit e58358afa84e ("selftests/bpf: Add a test for arena range tree algorithm") is backported]
Signed-off-by: Yifei Liu yifei.l.liu@oracle.com --- tools/testing/selftests/bpf/progs/verifier_arena_large.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/bpf/progs/verifier_arena_large.c b/tools/testing/selftests/bpf/progs/verifier_arena_large.c index f318675814c6..758b09a5eb88 100644 --- a/tools/testing/selftests/bpf/progs/verifier_arena_large.c +++ b/tools/testing/selftests/bpf/progs/verifier_arena_large.c @@ -87,7 +87,7 @@ __noinline int alloc_pages(int page_cnt, int pages_atonce, bool first_pass, NUMA_NO_NODE, 0); if (!pg) return step; - pg_idx = (pg - base) / PAGE_SIZE; + pg_idx = (unsigned long) (pg - base) / PAGE_SIZE; if (first_pass) { /* Pages must be allocated sequentially */ if (pg_idx != i)