Re: [PATCH] crypto: caam: fix descriptor error when create ext4 fs on the device-mapper device

From: Horia Geantă
Date: Thu Nov 18 2021 - 02:57:55 EST


On 11/9/2021 11:51 AM, Gaurav Jain wrote:
> Root cause:
> When caam queue is full (-ENOSPC), caam frees descriptor memory.
> crypto-engine checks if retry support is true and h/w queue
> is full(-ENOSPC), then requeue the crypto request.
> During processing the requested descriptor again, caam gives below error.
> (caam_jr 30902000.jr: 40000006: DECO: desc idx 0: Invalid KEY Command).
>
> This patch adds a check to return when caam input ring is full
> and retry support is true. so descriptor memory is not freed
> and requeued request can be processed again.
>
This approach is fine for a fix, to keep it small.

IMO it would be better to modify caam driver to use the crypto_engine callbacks
(prepare_request, unprepare_request).

> Fixes: 2d653936eb2cf ("crypto: caam - enable crypto-engine retry mechanism")
> Signed-off-by: Gaurav Jain <gaurav.jain@xxxxxxx>
> Reviewed-by: Horia Geantă <horia.geanta@xxxxxxx>
Initial upstream patch submission should not carry the R-b tags gathered
during internal reviews.

Patch looks good, thanks.
However the subject should change to something more generic,
given the root cause.

Horia