author | Matthew Shyu <matthew.shyu@amlogic.com> | 2018-06-19 11:04:13 (GMT) |
---|---|---|
committer | yang.xu <yang.xu@amlogic.com> | 2018-06-22 09:43:20 (GMT) |
commit | 0fbca8b0409b1ae4cdd1329002a8a8e44cc07457 (patch) | |
tree | 08ed7d0dd7b210a7d8858ea03b4d8b7b995c45b4 | |
parent | fb9504059efafdd0196675d352d67eadf143cfff (diff) | |
download | common-0fbca8b0409b1ae4cdd1329002a8a8e44cc07457.zip common-0fbca8b0409b1ae4cdd1329002a8a8e44cc07457.tar.gz common-0fbca8b0409b1ae4cdd1329002a8a8e44cc07457.tar.bz2 |
crypto: aml-dma: fix errors found in coverity check
PD#168725: fix errors found in coverity check
Change-Id: I7528dc0c6122d32e3f2937a4b1869031d10851af
Signed-off-by: Matthew Shyu <matthew.shyu@amlogic.com>
-rw-r--r-- | drivers/amlogic/crypto/aml-aes-dma.c | 1 | ||||
-rw-r--r-- | drivers/amlogic/crypto/aml-dma.c | 1 | ||||
-rw-r--r-- | drivers/amlogic/crypto/aml-tdes-dma.c | 7 |
3 files changed, 7 insertions, 2 deletions
diff --git a/drivers/amlogic/crypto/aml-aes-dma.c b/drivers/amlogic/crypto/aml-aes-dma.c index fd0c7e7..1239089 100644 --- a/drivers/amlogic/crypto/aml-aes-dma.c +++ b/drivers/amlogic/crypto/aml-aes-dma.c @@ -988,6 +988,7 @@ static void aml_aes_done_task(unsigned long data) if (!dd->in_sg || !dd->out_sg) { pr_err("aml-aes: sg invalid\n"); err = -EINVAL; + break; } } } diff --git a/drivers/amlogic/crypto/aml-dma.c b/drivers/amlogic/crypto/aml-dma.c index cf7ea7c..f50417b 100644 --- a/drivers/amlogic/crypto/aml-dma.c +++ b/drivers/amlogic/crypto/aml-dma.c @@ -124,6 +124,7 @@ static int aml_dma_probe(struct platform_device *pdev) return err; dma_err: + kfree(dma_dd); dev_err(dev, "initialization failed.\n"); return err; diff --git a/drivers/amlogic/crypto/aml-tdes-dma.c b/drivers/amlogic/crypto/aml-tdes-dma.c index 6c7b658..8927412 100644 --- a/drivers/amlogic/crypto/aml-tdes-dma.c +++ b/drivers/amlogic/crypto/aml-tdes-dma.c @@ -777,10 +777,13 @@ static void aml_tdes_done_task(unsigned long data) uint32_t i = 0; for (i = 0; i < dd->fast_nents; i++) { - if (!dd->in_sg || !dd->out_sg) - err = -EINVAL; dd->in_sg = sg_next(dd->in_sg); dd->out_sg = sg_next(dd->out_sg); + if (!dd->in_sg || !dd->out_sg) { + pr_err("aml-tdes: sg invalid\n"); + err = -EINVAL; + break; + } } } |