2012-10-25 14:55:05

by Wei Yongjun

[permalink] [raw]
Subject: [PATCH] crypto: tegra-aes - fix error-valued pointer dereference

From: Wei Yongjun <[email protected]>

clk_put(dd->aes_clk) will dereference an error-valued pointer since the
dd->aes_clk is a ERR_PTR() value. The correct check is call clk_put()
if !IS_ERR(dd->aes_clk).

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun <[email protected]>
---
drivers/crypto/tegra-aes.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/crypto/tegra-aes.c b/drivers/crypto/tegra-aes.c
index 37185e6..bb4195a 100644
--- a/drivers/crypto/tegra-aes.c
+++ b/drivers/crypto/tegra-aes.c
@@ -1031,7 +1031,7 @@ out:
if (dd->buf_out)
dma_free_coherent(dev, AES_HW_DMA_BUFFER_SIZE_BYTES,
dd->buf_out, dd->dma_buf_out);
- if (IS_ERR(dd->aes_clk))
+ if (!IS_ERR(dd->aes_clk))
clk_put(dd->aes_clk);
if (aes_wq)
destroy_workqueue(aes_wq);


2012-11-09 09:34:34

by Herbert Xu

[permalink] [raw]
Subject: Re: [PATCH] crypto: tegra-aes - fix error-valued pointer dereference

On Thu, Oct 25, 2012 at 10:55:04PM +0800, Wei Yongjun wrote:
> From: Wei Yongjun <[email protected]>
>
> clk_put(dd->aes_clk) will dereference an error-valued pointer since the
> dd->aes_clk is a ERR_PTR() value. The correct check is call clk_put()
> if !IS_ERR(dd->aes_clk).
>
> dpatch engine is used to auto generate this patch.
> (https://github.com/weiyj/dpatch)
>
> Signed-off-by: Wei Yongjun <[email protected]>

Patch applied. Thanks!
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt