summaryrefslogtreecommitdiff
path: root/tools/testing/selftests/pidfd/pidfd.h
diff options
context:
space:
mode:
authorSargun Dhillon <sargun@sargun.me>2020-01-07 20:59:27 +0300
committerChristian Brauner <christian.brauner@ubuntu.com>2020-01-13 23:49:54 +0300
commit873dfd7881d1d8840bf69c8c164f5323db7417fa (patch)
tree681e1f79da80c11111ec39e28d87d8362c276e15 /tools/testing/selftests/pidfd/pidfd.h
parent9a2cef09c801de54feecd912303ace5c27237f12 (diff)
downloadlinux-873dfd7881d1d8840bf69c8c164f5323db7417fa.tar.xz
test: Add test for pidfd getfd
The following tests: * Fetch FD, and then compare via kcmp * Make sure getfd can be blocked by blocking ptrace_may_access * Making sure fetching bad FDs fails * Make sure trying to set flags to non-zero results in an EINVAL Signed-off-by: Sargun Dhillon <sargun@sargun.me> Acked-by: Christian Brauner <christian.brauner@ubuntu.com> Link: https://lore.kernel.org/r/20200107175927.4558-5-sargun@sargun.me Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Diffstat (limited to 'tools/testing/selftests/pidfd/pidfd.h')
-rw-r--r--tools/testing/selftests/pidfd/pidfd.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/testing/selftests/pidfd/pidfd.h b/tools/testing/selftests/pidfd/pidfd.h
index c6bc68329f4b..d482515604db 100644
--- a/tools/testing/selftests/pidfd/pidfd.h
+++ b/tools/testing/selftests/pidfd/pidfd.h
@@ -36,6 +36,10 @@
#define __NR_clone3 -1
#endif
+#ifndef __NR_pidfd_getfd
+#define __NR_pidfd_getfd -1
+#endif
+
/*
* The kernel reserves 300 pids via RESERVED_PIDS in kernel/pid.c
* That means, when it wraps around any pid < 300 will be skipped.
@@ -84,4 +88,9 @@ static inline int sys_pidfd_send_signal(int pidfd, int sig, siginfo_t *info,
return syscall(__NR_pidfd_send_signal, pidfd, sig, info, flags);
}
+static inline int sys_pidfd_getfd(int pidfd, int fd, int flags)
+{
+ return syscall(__NR_pidfd_getfd, pidfd, fd, flags);
+}
+
#endif /* __PIDFD_H */