On 2/19/2018 9:58 AM, Christophe LEROY wrote: > Le 18/02/2018 à 18:14, Horia Geantă a écrit : >> There is no ahash_exit() callback mirroring ahash_init(). >> >> The clean-up of request ctx should be done in the last states of the hash >> flows >> described here: >> https://www.kernel.org/doc/html/latest/crypto/devel-algos.html#cipher-definition-with-struct-shash-alg-and-ahash-alg >> for e.g. in the final() callback. > > Unfortunatly it seems that we can't rely on those finalising functions > being called all the time. > If you look into test_ahash_jiffies() for instance, in case of error the > call of crypto_hash_final() is skipped.
If test_ahash_jiffies() errors before calling crypto_ahash_final(req), this means a previous callback failed. Accordingly, DMA unmapping should be performed also on the corresponding errors paths in the driver. Horia