lkml.org 
[lkml]   [2014]   [Jul]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH, RFC] random: introduce getrandom(2) system call
Date


On Wed, Jul 23, 2014, at 13:52, George Spelvin wrote:
> I keep wishing for a more general solution. For example, some way to
> have a "spare" extra fd that could be accessed with a special O_NOFAIL
> flag.
>
> That would allow any number of library functions to not fail, such as
> logging from nasty corner cases.
>
> But you'd have to provide one per thread, and block non-fatal signals
> while it was open, so you don't get reentrancy problems. Ick.
>
>
> This overly-specialized system call (and worse yet, a blocking
> system call that you can't put into a poll() loop) just feels ugly
> to me. Is it *absolutely* necessary?

One point that often came up besides fd exhaustion is missing
/dev/u?random device nodes in chroot environments.

I also thought about a more general interface, like e.g. an
opennod(dev_t device, int flags) call but all those ideas ended up being
very complex changes besides having design issues. getrandom is simple
and solves a real problem.

The only problem I see, that we allow access to /dev/random without
checking any permission bits like we did on opening /dev/random before
and we cannot restrict applications to deplete the whole entropy pool.

> For example, how about simply making getentropy() a library function that
> aborts if it can't open /dev/urandom? If you're suffering fd exhaustion,
> you're being DoSed already.

Maybe applications want to mitigate fd exhaustion.

Bye,
Hannes


\
 
 \ /
  Last update: 2014-07-26 07:21    [W:0.065 / U:0.368 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site