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. Cheers, -- 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