crypto: atmel - Free memory in error path
authorChristophe Jaillet <christophe.jaillet@wanadoo.fr>
Tue, 20 Jan 2015 07:15:52 +0000 (08:15 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 26 Jan 2015 00:34:21 +0000 (11:34 +1100)
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>
drivers/crypto/atmel-aes.c
drivers/crypto/atmel-tdes.c

index 53d1c33..6597aac 100644 (file)
@@ -673,9 +673,9 @@ err_map_out:
        dma_unmap_single(dd->dev, dd->dma_addr_in, dd->buflen,
                DMA_TO_DEVICE);
 err_map_in:
+err_alloc:
        free_page((unsigned long)dd->buf_out);
        free_page((unsigned long)dd->buf_in);
-err_alloc:
        if (err)
                pr_err("error: %d\n", err);
        return err;
index 5e7c896..258772d 100644 (file)
@@ -376,9 +376,9 @@ err_map_out:
        dma_unmap_single(dd->dev, dd->dma_addr_in, dd->buflen,
                DMA_TO_DEVICE);
 err_map_in:
+err_alloc:
        free_page((unsigned long)dd->buf_out);
        free_page((unsigned long)dd->buf_in);
-err_alloc:
        if (err)
                pr_err("error: %d\n", err);
        return err;