[ Upstream commit 78c09c0f4df89fabdcfb3e5e53d3196cf67f64ef ] The fake_sigreturn_sve_change_vl test needs at least two SVE vector lengths so it can attempt to modify the VL in a signal frame. On systems that support SVE but expose only one VL, the test initialization returns false and the signal test harness reports the case as a failure.
Mark the testcase result as KSFT_SKIP before returning false when fewer than two VLs are available. This preserves the old bool init callback contract while reporting the unsupported configuration correctly. This is a minimal backport of the behavior used by newer selftests, where the same single-VL configuration is reported as SKIP instead of FAIL. The 5.15.y selftest still uses a bool init callback here, so keep returning false after setting td->result to KSFT_SKIP. Signed-off-by: Yijia Wang <[email protected]> --- .../selftests/arm64/signal/testcases/fake_sigreturn_sve_change_vl.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_sve_change_vl.c b/tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_sve_change_vl.c index bb50b5adb..915821375 100644 --- a/tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_sve_change_vl.c +++ b/tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_sve_change_vl.c @@ -6,6 +6,7 @@ * supported and is expected to segfault. */ +#include <kselftest.h> #include <signal.h> #include <ucontext.h> #include <sys/prctl.h> @@ -40,6 +41,7 @@ static bool sve_get_vls(struct tdescr *td) /* We need at least two VLs */ if (nvls < 2) { fprintf(stderr, "Only %d VL supported\n", nvls); + td->result = KSFT_SKIP; return false; } --- base-commit: eceeec79dbc646d6dace49ed1ba2f656683d5537 change-id: 20260626-b4-arm64-515-preview-clean-9408c3dbd320 Best regards, -- Yijia Wang <[email protected]>

