diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0036-crypto-ccp-Fill-the-result-buffer-only-on-digest-fin.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0036-crypto-ccp-Fill-the-result-buffer-only-on-digest-fin.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0036-crypto-ccp-Fill-the-result-buffer-only-on-digest-fin.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0036-crypto-ccp-Fill-the-result-buffer-only-on-digest-fin.patch new file mode 100644 index 00000000..c3d83c3f --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0036-crypto-ccp-Fill-the-result-buffer-only-on-digest-fin.patch @@ -0,0 +1,49 @@ +From 3490cd0f4cfce7f49666ecd18a5cebeed8922854 Mon Sep 17 00:00:00 2001 +From: Gary R Hook <gary.hook@amd.com> +Date: Wed, 7 Mar 2018 11:37:42 -0600 +Subject: [PATCH 36/95] crypto: ccp - Fill the result buffer only on digest, + finup, and final ops + +Any change to the result buffer should only happen on final, finup +and digest operations. Changes to the buffer for update, import, export, +etc, are not allowed. + +Fixes: 66d7b9f6175e ("crypto: testmgr - test misuse of result in ahash") +Signed-off-by: Gary R Hook <gary.hook@amd.com> +Cc: <stable@vger.kernel.org> +Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> +Signed-off-by: Sudheesh Mavila <sudheesh.mavila@amd.com> +--- + drivers/crypto/ccp/ccp-crypto-aes-cmac.c | 2 +- + drivers/crypto/ccp/ccp-crypto-sha.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/crypto/ccp/ccp-crypto-aes-cmac.c b/drivers/crypto/ccp/ccp-crypto-aes-cmac.c +index 60fc0fa..26687f31 100644 +--- a/drivers/crypto/ccp/ccp-crypto-aes-cmac.c ++++ b/drivers/crypto/ccp/ccp-crypto-aes-cmac.c +@@ -46,7 +46,7 @@ static int ccp_aes_cmac_complete(struct crypto_async_request *async_req, + } + + /* Update result area if supplied */ +- if (req->result) ++ if (req->result && rctx->final) + memcpy(req->result, rctx->iv, digest_size); + + e_free: +diff --git a/drivers/crypto/ccp/ccp-crypto-sha.c b/drivers/crypto/ccp/ccp-crypto-sha.c +index 8b9b16d..871c962 100644 +--- a/drivers/crypto/ccp/ccp-crypto-sha.c ++++ b/drivers/crypto/ccp/ccp-crypto-sha.c +@@ -47,7 +47,7 @@ static int ccp_sha_complete(struct crypto_async_request *async_req, int ret) + } + + /* Update result area if supplied */ +- if (req->result) ++ if (req->result && rctx->final) + memcpy(req->result, rctx->ctx, digest_size); + + e_free: +-- +2.7.4 + |