]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selftests/rseq: Skip tests if time slice extensions are not available
authorThomas Gleixner <tglx@linutronix.de>
Sat, 25 Apr 2026 13:46:06 +0000 (15:46 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 5 May 2026 14:03:11 +0000 (16:03 +0200)
Don't fail, skip the test if the extensions are not enabled at compile or
runtime.

Fixes: 830969e7821a ("selftests/rseq: Implement time slice extension test")
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
Tested-by: Dmitry Vyukov <dvyukov@google.com>
Link: https://patch.msgid.link/20260428224427.597838491%40kernel.org
Cc: stable@vger.kernel.org
tools/testing/selftests/rseq/slice_test.c

index 357122dcb487030541704056b6969c97d48da0b3..77e668ff74d7f0660a55c92921835e9eda4a6759 100644 (file)
@@ -124,6 +124,13 @@ FIXTURE_SETUP(slice_ext)
 {
        cpu_set_t affinity;
 
+       if (rseq_register_current_thread())
+               SKIP(return, "RSEQ not supported\n");
+
+       if (prctl(PR_RSEQ_SLICE_EXTENSION, PR_RSEQ_SLICE_EXTENSION_SET,
+                 PR_RSEQ_SLICE_EXT_ENABLE, 0, 0))
+               SKIP(return, "Time slice extension not supported\n");
+
        ASSERT_EQ(sched_getaffinity(0, sizeof(affinity), &affinity), 0);
 
        /* Pin it on a single CPU. Avoid CPU 0 */
@@ -137,11 +144,6 @@ FIXTURE_SETUP(slice_ext)
                break;
        }
 
-       ASSERT_EQ(rseq_register_current_thread(), 0);
-
-       ASSERT_EQ(prctl(PR_RSEQ_SLICE_EXTENSION, PR_RSEQ_SLICE_EXTENSION_SET,
-                       PR_RSEQ_SLICE_EXT_ENABLE, 0, 0), 0);
-
        self->noise_params.noise_nsecs = variant->noise_nsecs;
        self->noise_params.sleep_nsecs = variant->sleep_nsecs;
        self->noise_params.run = 1;