summaryrefslogtreecommitdiff
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:48:43 +0200
commit3b8c7cc94e298fd0242e1025a8aafa9259a09b0d (patch)
treed390e7ab1cd887b00cd782760f6291b9fe531a32
parentafe98365be9501cfe2280be580b423de69e25609 (diff)
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 342ed46ddf882..9760fca94eb55 100644
--- a/drivers/crypto/stm32/stm32-hash.c
+++ b/drivers/crypto/stm32/stm32-hash.c
@@ -627,9 +627,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);