Re: [PATCH 0/5] crypto: caam - avoid allocating memory at crypto request runtime

From: Ard Biesheuvel
Date: Thu Dec 03 2020 - 03:35:19 EST


On Thu, 3 Dec 2020 at 02:35, Iuliana Prodan (OSS)
<iuliana.prodan@xxxxxxxxxxx> wrote:
>
> From: Iuliana Prodan <iuliana.prodan@xxxxxxx>
>
> This series removes CRYPTO_ALG_ALLOCATES_MEMORY flag and
> allocates the memory needed by the driver, to fulfil a
> request, within the crypto request object.
> The extra size needed for base extended descriptor, hw
> descriptor commands and link tables is added to the reqsize
> field that indicates how much memory could be needed per request.
>
> CRYPTO_ALG_ALLOCATES_MEMORY flag is limited only to
> dm-crypt use-cases, which seems to be 4 entries maximum.
> Therefore in reqsize we allocate memory for maximum 4 entries
> for src and 4 for dst, aligned.
> If the driver needs more than the 4 entries maximum, the memory
> is dynamically allocated, at runtime.
>

I'm confused. So the driver does allocate memory in some cases, right?
So why is it justified to remove CRYPTO_ALG_ALLOCATES_MEMORY?

> Iuliana Prodan (5):
> crypto: caam/jr - avoid allocating memory at crypto request runtime
> for skcipher
> crypto: caam/jr - avoid allocating memory at crypto request runtime
> for aead
> crypto: caam/jr - avoid allocating memory at crypto request runtime
> fost hash
> crypto: caam/qi - avoid allocating memory at crypto request runtime
> crypto: caam/qi2 - avoid allocating memory at crypto request runtime
>
> drivers/crypto/caam/caamalg.c | 141 +++++++---
> drivers/crypto/caam/caamalg_qi.c | 134 ++++++----
> drivers/crypto/caam/caamalg_qi2.c | 415 ++++++++++++++++++++----------
> drivers/crypto/caam/caamalg_qi2.h | 6 +
> drivers/crypto/caam/caamhash.c | 77 ++++--
> 5 files changed, 538 insertions(+), 235 deletions(-)
>
> --
> 2.17.1
>