FAILED: patch "[PATCH] crypto: atmel-sha204a - Fix OOM ->tfm_count leak" failed to apply to 5.15-stable tree
[email protected]
maintainerThe patch below does not apply to the 5.15-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.15.y
git checkout FETCH_HEAD
git cherry-pick -x d240b079a37e90af03fd7dfec94930eb6c83936e
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026031702-level-vision-656b@gregkh' --subject-prefix 'PATCH 5.15.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From d240b079a37e90af03fd7dfec94930eb6c83936e Mon Sep 17 00:00:00 2001
From: Thorsten Blum <[email protected]>
Date: Thu, 19 Feb 2026 00:54:00 +0100
Subject: [PATCH] crypto: atmel-sha204a - Fix OOM ->tfm_count leak
If memory allocation fails, decrement ->tfm_count to avoid blocking future reads.
drivers/crypto/atmel-sha204a.c +3 -2
@@ -52,9 +52,10 @@ static int atmel_sha204a_rng_read_nonblocking(struct hwrng *rng, void *data, rng->priv =0 ; }else { work_data =kmalloc_obj (*work_data,GFP_ATOMIC ); -if (!work_data) +if (!work_data) { +atomic_dec (&i2c_priv->tfm_count);return -ENOMEM ; - + } work_data->ctx = i2c_priv; work_data->client = i2c_priv->client;
Sasha Levin
maintainerPATCH 1/1 crypto: atmel-sha204a - Fix OOM ->tfm_count leak
From: Thorsten Blum <[email protected]>
[ Upstream commit d240b079a37e90af03fd7dfec94930eb6c83936e ]
If memory allocation fails, decrement ->tfm_count to avoid blocking future reads.
--- drivers/crypto/atmel-sha204a.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
drivers/crypto/atmel-sha204a.c +3 -2
@@ -52,9 +52,10 @@ static int atmel_sha204a_rng_read_nonblocking(struct hwrng *rng, void *data, rng->priv =0 ; }else { work_data =kmalloc (sizeof (*work_data),GFP_ATOMIC ); -if (!work_data) +if (!work_data) { +atomic_dec (&i2c_priv->tfm_count);return -ENOMEM ; - + } work_data->ctx = i2c_priv; work_data->client = i2c_priv->client;
Signature · 1 line
2.51.0