Messages in this thread | | | From | Stephan Mueller <> | Subject | Re: [PATCH v9 3/5] crypto: drbg - add async seeding operation | Date | Thu, 21 May 2015 08:10:13 +0200 |
| |
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. > The cancel operation is needed as otherwise my drbg context handle will be removed by the crypto API during the sleep. That is the whole reason why wait_event_interruptible is used.
So, even when using an uninterruptible sleep, the crypto API has no knowledge about it and I have to serialize the destruction code path with the async callback.
-- Ciao Stephan
| |