aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEduard Zingerman <[email protected]>2024-08-23 01:06:42 -0700
committerAlexei Starovoitov <[email protected]>2024-08-23 07:29:02 -0700
commitec1f77f6557b46639fa47c6980ef9d38995c1e05 (patch)
treefd179e6cc1c3293260fadeeee3ca2da429d32568
parent7559a7a84ef83a2dd86caf623430b8d834843cec (diff)
selftests/bpf: test_loader.c:get_current_arch() should not return 0
At the moment, when test_loader.c:get_current_arch() can't determine the arch, it returns 0. The arch check in run_subtest() looks as follows: if ((get_current_arch() & spec->arch_mask) == 0) { test__skip(); return; } Which means that all test_loader based tests would be skipped if arch could not be determined. get_current_arch() recognizes x86_64, arm64 and riscv64. Which means that CI skips test_loader tests for s390. Fix this by making sure that get_current_arch() always returns non-zero value. In combination with default spec->arch_mask == -1 this should cover all possibilities. Fixes: f406026fefa7 ("selftests/bpf: by default use arch mask allowing all archs") Fixes: 7d743e4c759c ("selftests/bpf: __jited test tag to check disassembly after jit") Signed-off-by: Eduard Zingerman <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Alexei Starovoitov <[email protected]>
-rw-r--r--tools/testing/selftests/bpf/test_loader.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/tools/testing/selftests/bpf/test_loader.c b/tools/testing/selftests/bpf/test_loader.c
index 2ca9b73e5a6b..4223cffc090e 100644
--- a/tools/testing/selftests/bpf/test_loader.c
+++ b/tools/testing/selftests/bpf/test_loader.c
@@ -336,9 +336,10 @@ static const char *skip_dynamic_pfx(const char *s, const char *pfx)
}
enum arch {
- ARCH_X86_64 = 0x1,
- ARCH_ARM64 = 0x2,
- ARCH_RISCV64 = 0x4,
+ ARCH_UNKNOWN = 0x1,
+ ARCH_X86_64 = 0x2,
+ ARCH_ARM64 = 0x4,
+ ARCH_RISCV64 = 0x8,
};
static int get_current_arch(void)
@@ -350,7 +351,7 @@ static int get_current_arch(void)
#elif defined(__riscv) && __riscv_xlen == 64
return ARCH_RISCV64;
#endif
- return 0;
+ return ARCH_UNKNOWN;
}
/* Uses btf_decl_tag attributes to describe the expected test