summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Bourgoin <thomas.bourgoin@foss.st.com>2023-07-13 17:15:15 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-09-13 09:43:04 +0200
commit08c86156361c97849a465746e78d57c00597c8e2 (patch)
tree6d7120d2355eb087acda02766f858b4c36ee9c15
parent73e64c5eeddf441e761699eda32f6a4557c08ba9 (diff)
downloadlinux-stable-08c86156361c97849a465746e78d57c00597c8e2.tar.gz
linux-stable-08c86156361c97849a465746e78d57c00597c8e2.tar.bz2
linux-stable-08c86156361c97849a465746e78d57c00597c8e2.zip
crypto: stm32 - fix loop iterating through scatterlist for DMA
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>
-rw-r--r--drivers/crypto/stm32/stm32-hash.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/crypto/stm32/stm32-hash.c b/drivers/crypto/stm32/stm32-hash.c
index e3f765434d64..4df5330afaa1 100644
--- a/drivers/crypto/stm32/stm32-hash.c
+++ b/drivers/crypto/stm32/stm32-hash.c
@@ -565,9 +565,9 @@ static int stm32_hash_dma_send(struct stm32_hash_dev *hdev)
}
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);