]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selftests/bpf: Fix verifier_arena_globals1 failure with 64K page
authorYonghong Song <yonghong.song@linux.dev>
Tue, 13 Jan 2026 06:10:33 +0000 (22:10 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Tue, 13 Jan 2026 17:32:16 +0000 (09:32 -0800)
With 64K page on arm64, verifier_arena_globals1 failed like below:
  ...
  libbpf: map 'arena': failed to create: -E2BIG
  ...
  #509/1   verifier_arena_globals1/check_reserve1:FAIL
  ...

For 64K page, if the number of arena pages is (1UL << 20), the total
memory will exceed 4G and this will cause map creation failure.
Adjusting ARENA_PAGES based on the actual page size fixed the problem.

Cc: Emil Tsalapatis <emil@etsalapatis.com>
Signed-off-by: Yonghong Song <yonghong.song@linux.dev>
Reviewed-by: Emil Tsalapatis <emil@etsalapatis.com>
Link: https://lore.kernel.org/r/20260113061033.3798549-1-yonghong.song@linux.dev
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/progs/verifier_arena_globals1.c

index 14afef3d6442b4b21ef9bad444303eed72bc5ab6..83182ddbfb9517fd0eb9fa2c94841d4767775c56 100644 (file)
@@ -9,7 +9,7 @@
 #include "bpf_arena_common.h"
 #include "bpf_misc.h"
 
-#define ARENA_PAGES (1UL<< (32 - 12))
+#define ARENA_PAGES (1UL<< (32 - __builtin_ffs(__PAGE_SIZE) + 1))
 #define GLOBAL_PAGES (16)
 
 struct {