From: Herbert Xu Date: Sat, 15 Mar 2025 12:37:36 +0000 (+0800) Subject: crypto: scompress - Fix scratch allocation failure handling X-Git-Tag: v6.15-rc1~118^2~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ddd0a42671c0d9742fda97d26068ffbb51dd7c01;p=thirdparty%2Fkernel%2Flinux.git crypto: scompress - Fix scratch allocation failure handling 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 Acked-by: Ard Biesheuvel Signed-off-by: Herbert Xu --- diff --git a/crypto/scompress.c b/crypto/scompress.c index f85cc0d83164c..5e0238af54258 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);