[lkml]   [2015]   [May]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH v5 1/5] random: Async and sync API for accessing nonblocking_pool
On Fri, May 08, 2015 at 08:41:30AM +0200, Stephan Mueller wrote:
> The added API calls provide a synchronous function call
> get_blocking_random_bytes where the caller is blocked until
> the nonblocking_pool is initialized.
> In addition, an asynchronous API call of get_blocking_random_bytes_cb
> is provided which returns immediately to the caller after submitting
> the request for random data. The caller-provided buffer that shall be
> filled with random data is filled up as available entropy permits. The
> caller may provide a callback function that is invoked once the
> request is completed.
> A third API call, get_blocking_random_bytes_cancel, is provided to
> cancel the random number gathering operation.

There are two problems with this patch:

1) The interface is way too complicated for a once off wait used
only during boot. Really there is no need for cancellations.

2) There is potential for deadlock because you schedule a work that
then sits around until the entropy is available. What if whatever
is generating that entropy used the same work thread in future?

So I suggest instead an interface that simply schedules a work
when the entropy is available.

Email: Herbert Xu <>
Home Page:
PGP Key:

 \ /
  Last update: 2015-05-11 09:41    [W:0.067 / U:13.780 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site