[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b4e3a71d-9892-f71c-3df5-4c721ff0ed75@roeck-us.net>
Date: Thu, 30 May 2019 04:50:31 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Christian Brauner <christian@...uner.io>,
Jann Horn <jannh@...gle.com>
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH] samples: pidfd: Fix compile error seen if
__NR_pidfd_send_signal is undefined
On 5/30/19 4:43 AM, Christian Brauner wrote:
> On May 30, 2019 1:40:47 PM GMT+02:00, Guenter Roeck <linux@...ck-us.net> wrote:
>> 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 to cause the kernel to return -ENOSYS.
>>
>> Fixes: 43c6afee48d4 ("samples: show race-free pidfd metadata access")
>> Cc: Christian Brauner <christian@...uner.io>
>> Signed-off-by: Guenter Roeck <linux@...ck-us.net>
>> ---
>> 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..1e125ddde268 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());
>
> Couldn't you just use the actual syscall number?
> That should still fail if the kernel is to old
> and still work on kernels that support it
> but for whatever reason the unistd.h h
> header doesn't have it defined.
>
syscall numbers can differ from architecture to architecture, and the
provided solution is used in other test code. Please feel free to submit
a different patch, though - I am only interested in a fix, which doesn't
have to be mine.
Note that this fails in mips builds.
Thanks,
Guenter
Powered by blists - more mailing lists