| From dfcf3b61cec9325917d0ba4ee7a3797375136a28 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 19 Sep 2019 11:04:48 -0500 |
| Subject: crypto: ccp - Release all allocated memory if sha type is invalid |
| |
| From: Navid Emamdoost <navid.emamdoost@gmail.com> |
| |
| [ Upstream commit 128c66429247add5128c03dc1e144ca56f05a4e2 ] |
| |
| Release all allocated memory if sha type is invalid: |
| In ccp_run_sha_cmd, if the type of sha is invalid, the allocated |
| hmac_buf should be released. |
| |
| v2: fix the goto. |
| |
| Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> |
| Acked-by: Gary R Hook <gary.hook@amd.com> |
| Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/crypto/ccp/ccp-ops.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/crypto/ccp/ccp-ops.c b/drivers/crypto/ccp/ccp-ops.c |
| index 330853a2702f0..43b74cf0787e1 100644 |
| --- a/drivers/crypto/ccp/ccp-ops.c |
| +++ b/drivers/crypto/ccp/ccp-ops.c |
| @@ -1783,8 +1783,9 @@ ccp_run_sha_cmd(struct ccp_cmd_queue *cmd_q, struct ccp_cmd *cmd) |
| LSB_ITEM_SIZE); |
| break; |
| default: |
| + kfree(hmac_buf); |
| ret = -EINVAL; |
| - goto e_ctx; |
| + goto e_data; |
| } |
| |
| memset(&hmac_cmd, 0, sizeof(hmac_cmd)); |
| -- |
| 2.25.1 |
| |