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.

> +                     else
> +                             return (-1);
> +             }
> +
> +             /* This cannot happen. */
> +             if (rd == 0)
> +                     abort();
> +
> +             buf = (char *)buf + rd;
> +             buflen -= rd;
> +     }
> +
> +     return (0);
> +}

> @@ -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.
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to