2012-10-21 11:56:43

by Wei Yongjun

[permalink] [raw]
Subject: [PATCH] crypto: fix missing unlock on error case

From: Wei Yongjun <[email protected]>

Add the missing unlock on the error handling path in function
tegra_aes_get_random() and tegra_aes_rng_reset().

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

diff --git a/drivers/crypto/tegra-aes.c b/drivers/crypto/tegra-aes.c
index 37185e6..19adf1c 100644
--- a/drivers/crypto/tegra-aes.c
+++ b/drivers/crypto/tegra-aes.c
@@ -674,8 +674,10 @@ static int tegra_aes_get_random(struct crypto_rng *tfm, u8 *rdata,
mutex_lock(&aes_lock);

ret = clk_prepare_enable(dd->aes_clk);
- if (ret)
+ if (ret) {
+ mutex_unlock(&aes_lock);
return ret;
+ }

ctx->dd = dd;
dd->ctx = ctx;
@@ -759,8 +761,10 @@ static int tegra_aes_rng_reset(struct crypto_rng *tfm, u8 *seed,
dd->flags = FLAGS_ENCRYPT | FLAGS_RNG;

ret = clk_prepare_enable(dd->aes_clk);
- if (ret)
+ if (ret) {
+ mutex_unlock(&aes_lock);
return ret;
+ }

aes_set_key(dd);



2012-10-24 13:12:38

by Herbert Xu

[permalink] [raw]
Subject: Re: [PATCH] crypto: fix missing unlock on error case

On Sun, Oct 21, 2012 at 07:56:42PM +0800, Wei Yongjun wrote:
> From: Wei Yongjun <[email protected]>
>
> Add the missing unlock on the error handling path in function
> tegra_aes_get_random() and tegra_aes_rng_reset().
>
> 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