aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/crypto
diff options
context:
space:
mode:
authorChristophe Jaillet <christophe.jaillet@wanadoo.fr>2015-01-20 02:15:52 -0500
committerHerbert Xu <herbert@gondor.apana.org.au>2015-01-25 19:34:21 -0500
commit088f628cc0898c4f0da7e91945f9f43a0b18a3bf (patch)
tree6c5b921c803eb936740f2221e5bfb173ea51815b /drivers/crypto
parent379dcfb406002d855fa56f9c3d290c4048f44e9c (diff)
crypto: atmel - Free memory in error path
If only one of the 2 __get_free_pages fails, then there is a memory leak. Signed-off-by: Christophe Jaillet <christophe.jaillet@wanadoo.fr> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto')
-rw-r--r--drivers/crypto/atmel-aes.c2
-rw-r--r--drivers/crypto/atmel-tdes.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/crypto/atmel-aes.c b/drivers/crypto/atmel-aes.c
index 53d1c330f8a8..6597aac9905d 100644
--- a/drivers/crypto/atmel-aes.c
+++ b/drivers/crypto/atmel-aes.c
@@ -673,9 +673,9 @@ err_map_out:
673 dma_unmap_single(dd->dev, dd->dma_addr_in, dd->buflen, 673 dma_unmap_single(dd->dev, dd->dma_addr_in, dd->buflen,
674 DMA_TO_DEVICE); 674 DMA_TO_DEVICE);
675err_map_in: 675err_map_in:
676err_alloc:
676 free_page((unsigned long)dd->buf_out); 677 free_page((unsigned long)dd->buf_out);
677 free_page((unsigned long)dd->buf_in); 678 free_page((unsigned long)dd->buf_in);
678err_alloc:
679 if (err) 679 if (err)
680 pr_err("error: %d\n", err); 680 pr_err("error: %d\n", err);
681 return err; 681 return err;
diff --git a/drivers/crypto/atmel-tdes.c b/drivers/crypto/atmel-tdes.c
index 5e7c896cde30..258772d9b22f 100644
--- a/drivers/crypto/atmel-tdes.c
+++ b/drivers/crypto/atmel-tdes.c
@@ -376,9 +376,9 @@ err_map_out:
376 dma_unmap_single(dd->dev, dd->dma_addr_in, dd->buflen, 376 dma_unmap_single(dd->dev, dd->dma_addr_in, dd->buflen,
377 DMA_TO_DEVICE); 377 DMA_TO_DEVICE);
378err_map_in: 378err_map_in:
379err_alloc:
379 free_page((unsigned long)dd->buf_out); 380 free_page((unsigned long)dd->buf_out);
380 free_page((unsigned long)dd->buf_in); 381 free_page((unsigned long)dd->buf_in);
381err_alloc:
382 if (err) 382 if (err)
383 pr_err("error: %d\n", err); 383 pr_err("error: %d\n", err);
384 return err; 384 return err;