| From 8e6db698c20151639064a5039ad92bd7f42dd7a8 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 17 Sep 2018 20:24:32 +0300 |
| Subject: crypto: fix a memory leak in rsa-kcs1pad's encryption mode |
| |
| From: Dan Aloni <dan@kernelim.com> |
| |
| [ Upstream commit 3944f139d5592790b70bc64f197162e643a8512b ] |
| |
| The encryption mode of pkcs1pad never uses out_sg and out_buf, so |
| there's no need to allocate the buffer, which presently is not even |
| being freed. |
| |
| CC: Herbert Xu <herbert@gondor.apana.org.au> |
| CC: linux-crypto@vger.kernel.org |
| CC: "David S. Miller" <davem@davemloft.net> |
| Signed-off-by: Dan Aloni <dan@kernelim.com> |
| Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| crypto/rsa-pkcs1pad.c | 9 --------- |
| 1 file changed, 9 deletions(-) |
| |
| diff --git a/crypto/rsa-pkcs1pad.c b/crypto/rsa-pkcs1pad.c |
| index 9893dbfc1af45..812476e468213 100644 |
| --- a/crypto/rsa-pkcs1pad.c |
| +++ b/crypto/rsa-pkcs1pad.c |
| @@ -261,15 +261,6 @@ static int pkcs1pad_encrypt(struct akcipher_request *req) |
| pkcs1pad_sg_set_buf(req_ctx->in_sg, req_ctx->in_buf, |
| ctx->key_size - 1 - req->src_len, req->src); |
| |
| - req_ctx->out_buf = kmalloc(ctx->key_size, GFP_KERNEL); |
| - if (!req_ctx->out_buf) { |
| - kfree(req_ctx->in_buf); |
| - return -ENOMEM; |
| - } |
| - |
| - pkcs1pad_sg_set_buf(req_ctx->out_sg, req_ctx->out_buf, |
| - ctx->key_size, NULL); |
| - |
| akcipher_request_set_tfm(&req_ctx->child_req, ctx->child); |
| akcipher_request_set_callback(&req_ctx->child_req, req->base.flags, |
| pkcs1pad_encrypt_sign_complete_cb, req); |
| -- |
| 2.20.1 |
| |