lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 30 May 2019 05:29:43 -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:55 AM, Christian Brauner wrote:
> On May 30, 2019 1:50:31 PM GMT+02:00, Guenter Roeck <linux@...ck-us.net> wrote:
>> 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
> 
> The syscall number is the same on all arches for this syscall.
> It's been added after the syscall numbering
> work by Arnd.
> 

As I suggested, please feel free to submit a different patch to fix the problem.
What you are saying may be correct, but I would not personally want to rely on it
or create a hard assumption that it will always be the case.

Thanks,
Guenter

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ