diff mbox series

[v2,4/7] crypto: stm32 - fix loop iterating through scatterlist for DMA

Message ID 20230713151518.1513949-5-thomas.bourgoin@foss.st.com
State Accepted
Commit d9c83f71eeceed2cb54bb78be84f2d4055fd9a1f
Headers show
Series [v2,1/7] dt-bindings: crypto: add new compatible for stm32-hash | expand

Commit Message

Thomas Bourgoin July 13, 2023, 3:15 p.m. UTC
From: Thomas Bourgoin <thomas.bourgoin@foss.st.com>

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>

---
Changes in v2:
 - Add Fixes 8a1012d3f2ab ("crypto: stm32 - Support for STM32 HASH module")
 - Add Cc: stable@vger.kernel.org

 drivers/crypto/stm32/stm32-hash.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/drivers/crypto/stm32/stm32-hash.c b/drivers/crypto/stm32/stm32-hash.c
index c179a6c1a457..519fb716acee 100644
--- a/drivers/crypto/stm32/stm32-hash.c
+++ b/drivers/crypto/stm32/stm32-hash.c
@@ -678,9 +678,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);