]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 10 Sep 2023 10:38:00 +0000 (11:38 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 10 Sep 2023 10:38:00 +0000 (11:38 +0100)
added patches:
crypto-stm32-fix-loop-iterating-through-scatterlist-for-dma.patch

queue-4.14/crypto-stm32-fix-loop-iterating-through-scatterlist-for-dma.patch [new file with mode: 0644]
queue-4.14/series

diff --git a/queue-4.14/crypto-stm32-fix-loop-iterating-through-scatterlist-for-dma.patch b/queue-4.14/crypto-stm32-fix-loop-iterating-through-scatterlist-for-dma.patch
new file mode 100644 (file)
index 0000000..3d8ef49
--- /dev/null
@@ -0,0 +1,37 @@
+From d9c83f71eeceed2cb54bb78be84f2d4055fd9a1f Mon Sep 17 00:00:00 2001
+From: Thomas Bourgoin <thomas.bourgoin@foss.st.com>
+Date: Thu, 13 Jul 2023 17:15:15 +0200
+Subject: crypto: stm32 - fix loop iterating through scatterlist for DMA
+
+From: Thomas Bourgoin <thomas.bourgoin@foss.st.com>
+
+commit d9c83f71eeceed2cb54bb78be84f2d4055fd9a1f upstream.
+
+We were reading the length of the scatterlist sg after copying value of
+tsg inside.
+So we are using the size of the previous scatterlist and for the first
+one we are using an unitialised value.
+Fix this by copying tsg in sg[0] before reading the size.
+
+Fixes : 8a1012d3f2ab ("crypto: stm32 - Support for STM32 HASH module")
+Cc: stable@vger.kernel.org
+Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com>
+Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/crypto/stm32/stm32-hash.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/crypto/stm32/stm32-hash.c
++++ b/drivers/crypto/stm32/stm32-hash.c
+@@ -574,9 +574,9 @@ static int stm32_hash_dma_send(struct st
+       }
+       for_each_sg(rctx->sg, tsg, rctx->nents, i) {
++              sg[0] = *tsg;
+               len = sg->length;
+-              sg[0] = *tsg;
+               if (sg_is_last(sg)) {
+                       if (hdev->dma_mode == 1) {
+                               len = (ALIGN(sg->length, 16) - 16);
index 9c8e831f4d0631e34e0c1152828291607656d50f..58460b45b8c892a6db25bd67fc950fabaabcf614 100644 (file)
@@ -117,3 +117,4 @@ dccp-fix-out-of-bounds-access-in-dccp-error-handler.patch
 x.509-if-signature-is-unsupported-skip-validation.patch
 net-handle-arphrd_ppp-in-dev_is_mac_header_xmit.patch
 pstore-ram-check-start-of-empty-przs-during-init.patch
+crypto-stm32-fix-loop-iterating-through-scatterlist-for-dma.patch