Re: [PATCH 16/18] crypto: talitos - do hw_context DMA mapping outside the requests

From: Horia Geantă
Date: Mon Feb 19 2018 - 03:31:01 EST


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