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