[PATCH 1/9] KVM: selftests: Add pidfd_open syscall number fallback

Aqib Faruqui posted 9 patches 1 month ago
There is a newer version of this series
[PATCH 1/9] KVM: selftests: Add pidfd_open syscall number fallback
Posted by Aqib Faruqui 1 month ago
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
-- 
2.47.3
Re: [PATCH 1/9] KVM: selftests: Add pidfd_open syscall number fallback
Posted by Sean Christopherson 1 month ago
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
>