[PATCH v3] getrandom system call wrapper [BZ #17252]

Florian Weimer fweimer@redhat.com
Thu Sep 8 13:26:00 GMT 2016


On 09/08/2016 03:19 PM, Andreas Schwab wrote:
> On Sep 08 2016, Florian Weimer <fweimer@redhat.com> wrote:
>
>> On 09/08/2016 03:01 PM, Andreas Schwab wrote:
>>> On Sep 08 2016, Florian Weimer <fweimer@redhat.com> wrote:
>>>
>>>> I have retained the __getrandom symbol mangling.  The justification for
>>>> that is that getrandom is a fairly common name.  Application code might
>>>> use it for something else entirely and interpose their definition, so that
>>>> libraries cannot rely on it doing the right thing.  I think the mangling
>>>> is justified because it is hard to spot that getrandom is broken due to
>>>> interposition.  As <sys/random.h> is a new header, the macro will be
>>>> exposed to few applications.
>>>
>>> It makes it impossible to take the address of the function, though.
>>
>> It does.  Do you have a better suggestion to achieve the same effect?
>
> If getrandom is ever standardized be POSIX this will have to be reverted
> anyway.

So you don't object to this approach?

We could keep it even in case of standardization under _GNU_SOURCE, or 
with _FORTIFY_SOURCE.  POSIX also seems to allow a function-style macro 
in addition to the function, so we could add a prototype for getrandom 
and an alias.

Thanks,
Florian



More information about the Libc-alpha mailing list