Subject: Re: [PATCH v2 6.1.y] net: tls: handle backlogging of crypto requests

From: Greg KH <[email-masked]>
Date: Fri, 29 Mar 2024 12:49:59 +0100

On Fri, Mar 29, 2024 at 03:55:40PM +0530, Srish Srinivasan wrote:
> From: Jakub Kicinski <[email-masked]>
> 
> commit 8590541473188741055d27b955db0777569438e3 upstream
> 
> Since we're setting the CRYPTO_TFM_REQ_MAY_BACKLOG flag on our
> requests to the crypto API, crypto_aead_{encrypt,decrypt} can return
>  -EBUSY instead of -EINPROGRESS in valid situations. For example, when
> the cryptd queue for AESNI is full (easy to trigger with an
> artificially low cryptd.cryptd_max_cpu_qlen), requests will be enqueued
> to the backlog but still processed. In that case, the async callback
> will also be called twice: first with err == -EINPROGRESS, which it
> seems we can just ignore, then with err == 0.
> 
> Compared to Sabrina's original patch this version uses the new
> tls_*crypt_async_wait() helpers and converts the EBUSY to
> EINPROGRESS to avoid having to modify all the error handling
> paths. The handling is identical.
> 
> Fixes: a54667f6728c ("tls: Add support for encryption using async offload accelerator")
> Fixes: 94524d8fc965 ("net/tls: Add support for async decryption of tls records")
> Co-developed-by: Sabrina Dubroca <[email-masked]>
> Signed-off-by: Sabrina Dubroca <[email-masked]>
> Link: https://lore.kernel.org/netdev/[email-masked]/
> Signed-off-by: Jakub Kicinski <[email-masked]>
> Reviewed-by: Simon Horman <[email-masked]>
> Signed-off-by: David S. Miller <[email-masked]>
> Signed-off-by: Sasha Levin <[email-masked]>
> [Srish: v2: fixed hunk failures
>         fixed merge-conflict in stable branch linux-6.1.y,
>         needs to go on top of https://lore.kernel.org/stable/[email-masked]/]

Identical do what I queued up for v1, but oh well :)

thanks,

greg k-h