]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
crypto: atmel-sha204a - Fix OOM ->tfm_count leak
authorThorsten Blum <thorsten.blum@linux.dev>
Wed, 18 Feb 2026 23:54:00 +0000 (00:54 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 28 Feb 2026 03:53:25 +0000 (12:53 +0900)
If memory allocation fails, decrement ->tfm_count to avoid blocking
future reads.

Cc: stable@vger.kernel.org
Fixes: da001fb651b0 ("crypto: atmel-i2c - add support for SHA204A random number generator")
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/atmel-sha204a.c

index 8adc7fe71c0418de6e4aab614030f24c8c8037bd..98d1023007e31e8f301bae2c66eabb638f24ec2a 100644 (file)
@@ -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;