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

Florian Weimer fweimer@redhat.com
Tue Oct 4 12:02:00 GMT 2016


On 10/03/2016 07:51 PM, Carlos O'Donell wrote:
> On 09/09/2016 10:21 AM, Torvald Riegel wrote:
>> On Thu, 2016-09-08 at 13:44 +0200, Florian Weimer wrote:
>>> I have made the system call wrapper a cancellation point.  (If we
>>> implement the simpler getentropy interface, it would not be a
>>> cancellation point.)
>>
>> Why did you do that?  Even though the system call is new, and thus can't
>> have been used in existing code directly, making it a cancellation point
>> will make all callers cancellation points too.  Therefore, for example,
>> we couldn't use it in the implementation of any POSIX functions (that
>> are not cancellation points) in glibc without having to disable and
>> restore the cancellation state around it every time.
>> It might be even more convenient to have one wrapper that is a
>> cancellation point and one that is not.
>>
>> Can't we just let cancellation rot in its corner?
>
> I will second what Florian has suggested, I also think getrandom() should
> be a cancellation point.

Thanks.

Torvald, do these arguments convince you?

Are there any remaining objects about the system call as posted?

Thanks,
Florian



More information about the Libc-alpha mailing list