]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
selftests: riscv: Bypass libc in inactive vector ptrace test
authorAndrew Jones <andrew.jones@oss.qualcomm.com>
Tue, 7 Jul 2026 15:38:27 +0000 (17:38 +0200)
committerPaul Walmsley <pjw@kernel.org>
Wed, 8 Jul 2026 02:30:31 +0000 (20:30 -0600)
commit70b439e46effd782097f640c0b64f5f8b0e79913
treec27c9ea5b407932f96a7628787e7837510d7247b
parent81bbcff0c053c4f5c711c31a9b72fc492bd96c3f
selftests: riscv: Bypass libc in inactive vector ptrace test

The ptrace_v_not_enabled test expects the child to reach its ebreak
before it has used the vector extension. That is not guaranteed when
using fork(), because libc may run child atfork handlers before
returning to the test code. In those cases PTRACE_GETREGSET for
NT_RISCV_VECTOR then succeeds instead of returning ENODATA for
inactive vector state.

Use the raw clone syscall with SIGCHLD to keep fork-like semantics
while bypassing libc's fork wrapper and atfork handler chain.

Cc: Andy Chiu <tchiu@tenstorrent.com>
Assisted-by: Claude:claude-sonnet-4-6
Signed-off-by: Andrew Jones <andrew.jones@oss.qualcomm.com>
Link: https://patch.msgid.link/20260707153827.175245-1-andrew.jones@oss.qualcomm.com
Signed-off-by: Paul Walmsley <pjw@kernel.org>
tools/testing/selftests/riscv/vector/validate_v_ptrace.c