| From e4e98a1a0d1bb33b229f1f710e01db82c9035286 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 31 Jul 2019 16:08:12 +0300 |
| Subject: crypto: caam - free resources in case caam_rng registration failed |
| |
| From: Iuliana Prodan <iuliana.prodan@nxp.com> |
| |
| [ Upstream commit c59a1d41672a89b5cac49db1a472ff889e35a2d2 ] |
| |
| Check the return value of the hardware registration for caam_rng and free |
| resources in case of failure. |
| |
| Fixes: e24f7c9e87d4 ("crypto: caam - hwrng support") |
| Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com> |
| Reviewed-by: Horia Geanta <horia.geanta@nxp.com> |
| Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/crypto/caam/caamrng.c | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/crypto/caam/caamrng.c b/drivers/crypto/caam/caamrng.c |
| index 9b92af2c72412..a77319bf221d8 100644 |
| --- a/drivers/crypto/caam/caamrng.c |
| +++ b/drivers/crypto/caam/caamrng.c |
| @@ -361,7 +361,10 @@ static int __init caam_rng_init(void) |
| goto free_rng_ctx; |
| |
| dev_info(dev, "registering rng-caam\n"); |
| - return hwrng_register(&caam_rng); |
| + |
| + err = hwrng_register(&caam_rng); |
| + if (!err) |
| + return err; |
| |
| free_rng_ctx: |
| kfree(rng_ctx); |
| -- |
| 2.20.1 |
| |