Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Mar 2018 08:03:16 -0700
From:      Conrad Meyer <cem@freebsd.org>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org,  svn-src-head@freebsd.org
Subject:   Re: svn commit: r331279 - in head: include lib/libc/gen lib/libc/sys lib/libc/tests/gen sys/compat/freebsd32 sys/conf sys/kern sys/sys tests/sys/kern usr.bin/truss
Message-ID:  <CAG6CVpW3tPVyh6D3FXpAc9DPqG9u_KnHBiZOFmg1zZsHmDb8jA@mail.gmail.com>
In-Reply-To: <20180321103325.GJ76926@kib.kiev.ua>
References:  <201803210115.w2L1Fjt9084698@repo.freebsd.org> <20180321103325.GJ76926@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Mar 21, 2018 at 3:33 AM, Konstantin Belousov
<kostikbel@gmail.com> wrote:
> On Wed, Mar 21, 2018 at 01:15:45AM +0000, Conrad Meyer wrote:
>> +int
>> +getentropy(void *buf, size_t buflen)
>> +{
>> +     ssize_t rd;
>> +
>> +     if (buflen > 256) {
>> +             errno = EIO;
>> +             return (-1);
>> +     }
>> +
>> +     while (buflen > 0) {
>> +             rd = getrandom(buf, buflen, 0);
>> +             if (rd == -1) {
>> +                     if (errno == EINTR)
>> +                             continue;
>> +                     else if (errno == ENOSYS)
>> +                             abort();
> Libraries must not abort the application.
> Esp. libc.

What do you propose instead?  while (1); ?  I don't see that as
obviously better.

>> ...
>> @@ -627,6 +628,8 @@ FBSDprivate_1.0 {
>>       __sys_getppid;
>>       _getpriority;
>>       __sys_getpriority;
>> +     _getrandom;
>> +     __sys_getrandom;
>>       _getresgid;
>>       __sys_getresgid;
>>       _getresuid;
>
> Is there any use planned for _getrandom and for __sys_ ?  If not,
> we do not add private symbols for newer syscalls in recent times.

Nope, just following the pattern.  They can be removed if they are not needed.

Best,
Conrad



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG6CVpW3tPVyh6D3FXpAc9DPqG9u_KnHBiZOFmg1zZsHmDb8jA>