Re: [PATCH v6 1/5] random: Blocking API for accessing nonblocking_pool

Stephan Mueller
2015-05-19T06:48:57Z

Am Montag, 18. Mai 2015, 11:02:34 schrieb Theodore Ts'o:

Hi Theodore, Herbert,
>
> The simplest thing to do is to put a refcount on inside the DRBG
> handle structure. The caller instantiates the DRBG handle, and
> invokes the the DRBG. The DRBG, since it is kicking off an
> asynchronous operation, increments the refcount.

That is a good idea. After experimenting with the refcount, I see that kernel
crypto API release function of crypto_destroy_tfm unconditionally destroys the
crypto handle by freeing it.

So, if a caller releases the DRBG handle, the DRBG code cannot prevent the
destruction of its context with a refcount.

Herbert, do you have any ideas?

--
Ciao
Stephan