diff mbox series

crypto: scompress - Fix scratch allocation failure handling

Message ID Z9V0kBchZ8N8JG9n@gondor.apana.org.au
State New
Headers show
Series crypto: scompress - Fix scratch allocation failure handling | expand

Commit Message

Herbert Xu March 15, 2025, 12:37 p.m. UTC
If the scratch allocation fails, all subsequent allocations will
silently succeed without actually allocating anything.  Fix this
by only incrementing users when the allocation succeeds.

Fixes: 6a8487a1f29f ("crypto: scompress - defer allocation of scratch buffer to first use")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
---
 crypto/scompress.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/crypto/scompress.c b/crypto/scompress.c
index dc239ea8a46c..57bb7353d767 100644
--- a/crypto/scompress.c
+++ b/crypto/scompress.c
@@ -159,8 +159,12 @@  static int crypto_scomp_init_tfm(struct crypto_tfm *tfm)
 		if (ret)
 			goto unlock;
 	}
-	if (!scomp_scratch_users++)
+	if (!scomp_scratch_users) {
 		ret = crypto_scomp_alloc_scratches();
+		if (ret)
+			goto unlock;
+		scomp_scratch_users++;
+	}
 unlock:
 	mutex_unlock(&scomp_lock);