[PATCH RFC v2] crypto: sahara: pass on error condition

From: Nicholas Mc Guire
Date: Sat Feb 07 2015 - 06:32:10 EST


A failure of sahara_hw_descriptor_create() with -EINVAL due to scatter list
out of bounds/invalid would not be reported back. This patch just passes on
the -EINVAL so it is visible in sahara_queue_manage().

Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx>
---

v2: cut&past error - the condition is not if (!ret) but if (ret) as
sahara_hw_descriptor_create() will return 0 on success and -EINVAL
in all failure paths.

Patch was only compile tested with imx_v4_v5_defconfig
CONFIG_CRYPTO_HW=y, CONFIG_CRYPTO_DEV_SAHARA=m

Patch is against 3.19.0-rc7 (localversion-next is -next-20150204)

drivers/crypto/sahara.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/crypto/sahara.c b/drivers/crypto/sahara.c
index 0c790be..a9eeb8b 100644
--- a/drivers/crypto/sahara.c
+++ b/drivers/crypto/sahara.c
@@ -602,6 +602,8 @@ static int sahara_aes_process(struct ablkcipher_request *req)
reinit_completion(&dev->dma_completion);

ret = sahara_hw_descriptor_create(dev);
+ if (ret)
+ return -EINVAL;

timeout = wait_for_completion_timeout(&dev->dma_completion,
msecs_to_jiffies(SAHARA_TIMEOUT_MS));
--
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/