Commit 73989c99 authored by Terry Tritton's avatar Terry Tritton Committed by Kees Cook
Browse files

selftests/seccomp: fix negative_ENOSYS tracer tests on arm32



TRACE_syscall.ptrace.negative_ENOSYS and TRACE_syscall.seccomp.negative_ENOSYS
on arm32 are being reported as failures instead of skipping.

The teardown_trace_fixture function sets the test to KSFT_FAIL in case of a
non 0 return value from the tracer process.
Due to _metadata now being shared between the forked processes the tracer is
returning the KSFT_SKIP value set by the tracee which is non 0.

Remove the setting of the _metadata.exit_code in teardown_trace_fixture.

Fixes: 24cf65a6 ("selftests/harness: Share _metadata between forked processes")
Signed-off-by: default avatarTerry Tritton <terry.tritton@linaro.org>
Link: https://lore.kernel.org/r/20250509115622.64775-1-terry.tritton@linaro.org


Signed-off-by: default avatarKees Cook <kees@kernel.org>
parent 797002de
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -1629,14 +1629,8 @@ void teardown_trace_fixture(struct __test_metadata *_metadata,
{
	if (tracer) {
		int status;
		/*
		 * Extract the exit code from the other process and
		 * adopt it for ourselves in case its asserts failed.
		 */
		ASSERT_EQ(0, kill(tracer, SIGUSR1));
		ASSERT_EQ(tracer, waitpid(tracer, &status, 0));
		if (WEXITSTATUS(status))
			_metadata->exit_code = KSFT_FAIL;
	}
}