]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
selftests/rseq: Validate legacy behavior
authorThomas Gleixner <tglx@kernel.org>
Sun, 26 Apr 2026 15:51:07 +0000 (17:51 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 6 May 2026 15:39:01 +0000 (17:39 +0200)
commitfdf4eb632683bfc2840acebe62716cb468d43e10
tree990812923c5a497996cb28565035f4412e45ef34
parentd97cb2ef0b221b068e90b6058aa97faa0626bdab
selftests/rseq: Validate legacy behavior

The RSEQ legacy mode behavior requires that the ID fields in the rseq
region are unconditionally updated on every context switch and before
signal delivery even if not required by the ABI specification.

To ensure that this behavior is preserved for legacy users in the future,
add a test which validates that with a sleep() and a signal sent to self.

Provide a run script which prevents GLIBC from registering a RSEQ region,
so that the test can register it's own legacy sized region.

Fixes: 566d8015f7ee ("rseq: Avoid CPU/MM CID updates when no event pending")
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
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.764705536%40kernel.org
Cc: stable@vger.kernel.org
tools/testing/selftests/rseq/Makefile
tools/testing/selftests/rseq/legacy_check.c [new file with mode: 0644]
tools/testing/selftests/rseq/run_legacy_check.sh [new file with mode: 0755]