Message ID | Z9V0kBchZ8N8JG9n@gondor.apana.org.au |
---|---|
State | New |
Headers | show |
Series | crypto: scompress - Fix scratch allocation failure handling | expand |
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);
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(-)