On Tue, May 19, 2015 at 04:36:58PM +0200, Stephan Mueller wrote: > diff --git a/drivers/char/random.c b/drivers/char/random.c > index 9cd6968..6f71354 100644 > --- a/drivers/char/random.c > +++ b/drivers/char/random.c > @@ -1245,6 +1245,20 @@ void get_random_bytes(void *buf, int nbytes) > EXPORT_SYMBOL(get_random_bytes); > > /* > + * Equivalent function to get_random_bytes with the difference that this > + * function blocks the request until the nonblocking_pool is initialized. > + */ > +void get_blocking_random_bytes(void *buf, int nbytes) > +{ > + if (unlikely(nonblocking_pool.initialized == 0)) > + wait_event_interruptible(urandom_init_wait, > + nonblocking_pool.initialized); > + extract_entropy(&nonblocking_pool, buf, nbytes, 0, 0); > +} > +EXPORT_SYMBOL(get_blocking_random_bytes); You still need to handle the case where wait_event_interruptible returns an error. Otherwise this looks fine. Thanks, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html