Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

crypto: caam - fix memleak in caam_jr module

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

Cc: <stable@vger.kernel.org> # 3.13+
Signed-off-by: Cristian Stoica <cristian.stoica@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Cristian Stoica and committed by
Herbert Xu
0378c9a8 cfe82d4f

+3 -5
+3 -5
drivers/crypto/caam/jr.c
··· 453 453 int error; 454 454 455 455 jrdev = &pdev->dev; 456 - jrpriv = kmalloc(sizeof(struct caam_drv_private_jr), 457 - GFP_KERNEL); 456 + jrpriv = devm_kmalloc(jrdev, sizeof(struct caam_drv_private_jr), 457 + GFP_KERNEL); 458 458 if (!jrpriv) 459 459 return -ENOMEM; 460 460 ··· 487 487 488 488 /* Now do the platform independent part */ 489 489 error = caam_jr_init(jrdev); /* now turn on hardware */ 490 - if (error) { 491 - kfree(jrpriv); 490 + if (error) 492 491 return error; 493 - } 494 492 495 493 jrpriv->dev = jrdev; 496 494 spin_lock(&driver_data.jr_alloc_lock);