[PATCH v3] crypto: caam - fix memleak in caam_jr module

From: Cristian Stoica
Date: Mon Jul 07 2014 - 04:53:20 EST


This patch fixes a memory leak that appears when caam_jr module is unloaded.

Cc: <stable@xxxxxxxxxxxxxxx> # 3.13+
Signed-off-by: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx>
---
drivers/crypto/caam/jr.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/crypto/caam/jr.c b/drivers/crypto/caam/jr.c
index 1d80bd3..b512a4b 100644
--- a/drivers/crypto/caam/jr.c
+++ b/drivers/crypto/caam/jr.c
@@ -453,8 +453,8 @@ static int caam_jr_probe(struct platform_device *pdev)
int error;

jrdev = &pdev->dev;
- jrpriv = kmalloc(sizeof(struct caam_drv_private_jr),
- GFP_KERNEL);
+ jrpriv = devm_kmalloc(jrdev, sizeof(struct caam_drv_private_jr),
+ GFP_KERNEL);
if (!jrpriv)
return -ENOMEM;

@@ -487,10 +487,8 @@ static int caam_jr_probe(struct platform_device *pdev)

/* Now do the platform independent part */
error = caam_jr_init(jrdev); /* now turn on hardware */
- if (error) {
- kfree(jrpriv);
+ if (error)
return error;
- }

jrpriv->dev = jrdev;
spin_lock(&driver_data.jr_alloc_lock);
--
1.8.3.1

--
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/