From 7c33277b9a9ada187f805b41ffbebe6c51622fb6 Mon Sep 17 00:00:00 2001 From: Guenter Roeck Date: Thu, 30 May 2019 04:40:47 -0700 Subject: samples: fix pidfd-metadata compilation Define __NR_pidfd_send_signal if it isn't to prevent a compilation error. To make pidfd-metadata compile on all arches, irrespective of whether or not syscall numbers are assigned, define the syscall number to -1. If it isn't defined this will cause the kernel to return -ENOSYS. Fixes: 43c6afee48d4 ("samples: show race-free pidfd metadata access") Reported-by: Arnd Bergmann Reported-by: Guenter Roeck Cc: Christian Brauner Signed-off-by: Guenter Roeck [christian@brauner.io: tweak commit message] Signed-off-by: Christian Brauner --- samples/pidfd/pidfd-metadata.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/samples/pidfd/pidfd-metadata.c b/samples/pidfd/pidfd-metadata.c index 640f5f757c57..14b454448429 100644 --- a/samples/pidfd/pidfd-metadata.c +++ b/samples/pidfd/pidfd-metadata.c @@ -21,6 +21,10 @@ #define CLONE_PIDFD 0x00001000 #endif +#ifndef __NR_pidfd_send_signal +#define __NR_pidfd_send_signal -1 +#endif + static int do_child(void *args) { printf("%d\n", getpid()); -- cgit v1.2.3 From c732327f04a3818f35fa97d07b1d64d31b691d78 Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Tue, 4 Jun 2019 15:18:43 +0200 Subject: signal: improve comments Improve the comments for pidfd_send_signal(). First, the comment still referred to a file descriptor for a process as a "task file descriptor" which stems from way back at the beginning of the discussion. Replace this with "pidfd" for consistency. Second, the wording for the explanation of the arguments to the syscall was a bit inconsistent, e.g. some used the past tense some used present tense. Make the wording more consistent. Signed-off-by: Christian Brauner --- kernel/signal.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/kernel/signal.c b/kernel/signal.c index 328a01e1a2f0..d622eac9d169 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -3621,12 +3621,11 @@ static struct pid *pidfd_to_pid(const struct file *file) } /** - * sys_pidfd_send_signal - send a signal to a process through a task file - * descriptor - * @pidfd: the file descriptor of the process - * @sig: signal to be sent - * @info: the signal info - * @flags: future flags to be passed + * sys_pidfd_send_signal - Signal a process through a pidfd + * @pidfd: file descriptor of the process + * @sig: signal to send + * @info: signal info + * @flags: future flags * * The syscall currently only signals via PIDTYPE_PID which covers * kill(, . It does not signal threads or process -- cgit v1.2.3 From 1fcd0eb356ad56c4e405f06e31dd9fde2109d5ab Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Wed, 5 Jun 2019 15:06:32 +0200 Subject: tests: fix pidfd-test compilation Define __NR_pidfd_send_signal if it isn't to prevent a potential compilation error. To make pidfd-test compile on all arches, irrespective of whether or not syscall numbers are assigned, define the syscall number to -1. If it isn't defined this will cause the kernel to return -ENOSYS. Fixes: 575a0ae9744d ("selftests: add tests for pidfd_send_signal()") Signed-off-by: Christian Brauner --- tools/testing/selftests/pidfd/pidfd_test.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/testing/selftests/pidfd/pidfd_test.c b/tools/testing/selftests/pidfd/pidfd_test.c index 5bae1792e3d6..104c75a33882 100644 --- a/tools/testing/selftests/pidfd/pidfd_test.c +++ b/tools/testing/selftests/pidfd/pidfd_test.c @@ -16,6 +16,10 @@ #include "../kselftest.h" +#ifndef __NR_pidfd_send_signal +#define __NR_pidfd_send_signal -1 +#endif + static inline int sys_pidfd_send_signal(int pidfd, int sig, siginfo_t *info, unsigned int flags) { -- cgit v1.2.3