Message ID | 20170721154238.21697-3-ard.biesheuvel@linaro.org |
---|---|
State | Accepted |
Commit | cc4d110ec824d3f05f95b1f705158afc6fb08773 |
Headers | show |
Series | crypto: scompress - defer allocation of percpu scratch buffers | expand |
diff --git a/crypto/scompress.c b/crypto/scompress.c index 0b40d991d65f..2c07648305ad 100644 --- a/crypto/scompress.c +++ b/crypto/scompress.c @@ -125,8 +125,11 @@ static int crypto_scomp_alloc_all_scratches(void) if (!scomp_src_scratches) return -ENOMEM; scomp_dst_scratches = crypto_scomp_alloc_scratches(); - if (!scomp_dst_scratches) + if (!scomp_dst_scratches) { + crypto_scomp_free_scratches(scomp_src_scratches); + scomp_src_scratches = NULL; return -ENOMEM; + } } return 0; }
When allocating the per-CPU scratch buffers, we allocate the source and destination buffers separately, but bail immediately if the second allocation fails, without freeing the first one. Fix that. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> --- crypto/scompress.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -- 2.11.0