The kselftest-harness uses pidfd_open() for test timeout handling, but non-glibc C library headers may not define this syscall number.
Add architecture-specific fallback definitions to pidfd.h, including support for Alpha (544) and other architectures (434). Update kselftest_harness.h to include pidfd.h for the syscall definitions.
Signed-off-by: Aqib Faruqui aqibaf@amazon.com --- tools/testing/selftests/kselftest_harness.h | 1 + tools/testing/selftests/pidfd/pidfd.h | 4 ++++ 2 files changed, 5 insertions(+)
diff --git a/tools/testing/selftests/kselftest_harness.h b/tools/testing/selftests/kselftest_harness.h index 2925e47db..1dd3e5a1b 100644 --- a/tools/testing/selftests/kselftest_harness.h +++ b/tools/testing/selftests/kselftest_harness.h @@ -69,6 +69,7 @@ #include <unistd.h>
#include "kselftest.h" +#include "pidfd/pidfd.h"
#define TEST_TIMEOUT_DEFAULT 30
diff --git a/tools/testing/selftests/pidfd/pidfd.h b/tools/testing/selftests/pidfd/pidfd.h index f87993def..c373ff18e 100644 --- a/tools/testing/selftests/pidfd/pidfd.h +++ b/tools/testing/selftests/pidfd/pidfd.h @@ -45,8 +45,12 @@ #endif
#ifndef __NR_pidfd_open +#ifdef __alpha__ +#define __NR_pidfd_open 544 +#else #define __NR_pidfd_open 434 #endif +#endif
#ifndef __NR_pidfd_send_signal #define __NR_pidfd_send_signal 424
Subject says KVM, but I don't see anything KVM related in here. I don't think any of the KVM selftests even use pidfd_open() directly.
On Fri, Aug 29, 2025, Aqib Faruqui wrote:
The kselftest-harness uses pidfd_open() for test timeout handling, but non-glibc C library headers may not define this syscall number.
Add architecture-specific fallback definitions to pidfd.h, including support for Alpha (544) and other architectures (434). Update kselftest_harness.h to include pidfd.h for the syscall definitions.
This should probably be split into two patches:
selftests: harness: Include pidfd.h to get syscall definitions from tools/
and
selftests/pidfd: Add architecture-specific fallback definitions for pidfd_open
as there are two distinct changes here. And kselftest_harness.h also tends to be a finicky little bugger, isolating changes to that file is almost always a good idea, no matter how trivial they might seem.
Signed-off-by: Aqib Faruqui aqibaf@amazon.com
tools/testing/selftests/kselftest_harness.h | 1 + tools/testing/selftests/pidfd/pidfd.h | 4 ++++ 2 files changed, 5 insertions(+)
diff --git a/tools/testing/selftests/kselftest_harness.h b/tools/testing/selftests/kselftest_harness.h index 2925e47db..1dd3e5a1b 100644 --- a/tools/testing/selftests/kselftest_harness.h +++ b/tools/testing/selftests/kselftest_harness.h @@ -69,6 +69,7 @@ #include <unistd.h> #include "kselftest.h" +#include "pidfd/pidfd.h" #define TEST_TIMEOUT_DEFAULT 30 diff --git a/tools/testing/selftests/pidfd/pidfd.h b/tools/testing/selftests/pidfd/pidfd.h index f87993def..c373ff18e 100644 --- a/tools/testing/selftests/pidfd/pidfd.h +++ b/tools/testing/selftests/pidfd/pidfd.h @@ -45,8 +45,12 @@ #endif #ifndef __NR_pidfd_open +#ifdef __alpha__ +#define __NR_pidfd_open 544 +#else #define __NR_pidfd_open 434 #endif +#endif #ifndef __NR_pidfd_send_signal
#define __NR_pidfd_send_signal 424
2.47.3
linux-kselftest-mirror@lists.linaro.org