Commit ec1f77f6 authored by Eduard Zingerman's avatar Eduard Zingerman Committed by Alexei Starovoitov

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: f406026f ("selftests/bpf: by default use arch mask allowing all archs")
Fixes: 7d743e4c ("selftests/bpf: __jited test tag to check disassembly after jit")
Signed-off-by: default avatarEduard Zingerman <eddyz87@gmail.com>
Link: https://lore.kernel.org/r/20240823080644.263943-2-eddyz87@gmail.comSigned-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent 7559a7a8
...@@ -336,9 +336,10 @@ static const char *skip_dynamic_pfx(const char *s, const char *pfx) ...@@ -336,9 +336,10 @@ static const char *skip_dynamic_pfx(const char *s, const char *pfx)
} }
enum arch { enum arch {
ARCH_X86_64 = 0x1, ARCH_UNKNOWN = 0x1,
ARCH_ARM64 = 0x2, ARCH_X86_64 = 0x2,
ARCH_RISCV64 = 0x4, ARCH_ARM64 = 0x4,
ARCH_RISCV64 = 0x8,
}; };
static int get_current_arch(void) static int get_current_arch(void)
...@@ -350,7 +351,7 @@ static int get_current_arch(void) ...@@ -350,7 +351,7 @@ static int get_current_arch(void)
#elif defined(__riscv) && __riscv_xlen == 64 #elif defined(__riscv) && __riscv_xlen == 64
return ARCH_RISCV64; return ARCH_RISCV64;
#endif #endif
return 0; return ARCH_UNKNOWN;
} }
/* Uses btf_decl_tag attributes to describe the expected test /* Uses btf_decl_tag attributes to describe the expected test
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment