lkml.org 
[lkml]   [2015]   [May]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH v9 3/5] crypto: drbg - add async seeding operation
Date
Am Donnerstag, 21. Mai 2015, 05:44:08 schrieb Herbert Xu:

Hi Herbert,

> On Wed, May 20, 2015 at 10:03:45PM +0200, Stephan Mueller wrote:
> >> @@ -1487,6 +1514,7 @@ unlock:
> > */
> >
> > static int drbg_uninstantiate(struct drbg_state *drbg)
> > {
> >
> > + cancel_work_sync(&drbg->seed_work);
>
> This will just block until the work is done, i.e., until the
> pool is ready. It's no different to an uninterruptible sleep.
>
> So either just do an uninterruptible sleep, or allow the async
> seed to fail.

I think I found the issue: we cannot put interruptible and noninterruptible
sleeps onto the same wait queue. With my initial tests, I put the
uninterruptible sleep onto urandom_init_wait where also interruptible sleeps
are put onto.

So, I will create a 2nd wait queue in random.c for uninterruptible waits,
change the get_blocking_random_bytes back to void and use wait_event to wait
for the initialization.
>
> Cheers,


--
Ciao
Stephan


\
 
 \ /
  Last update: 2015-05-21 10:21    [W:0.119 / U:0.732 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site