]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
crypto: atmel-aes - Fix 3-page memory leak in atmel_aes_buff_cleanup
authorThorsten Blum <thorsten.blum@linux.dev>
Wed, 11 Mar 2026 02:07:35 +0000 (03:07 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sun, 22 Mar 2026 02:17:58 +0000 (11:17 +0900)
atmel_aes_buff_init() allocates 4 pages using __get_free_pages() with
ATMEL_AES_BUFFER_ORDER, but atmel_aes_buff_cleanup() frees only the
first page using free_page(), leaking the remaining 3 pages. Use
free_pages() with ATMEL_AES_BUFFER_ORDER to fix the memory leak.

Fixes: bbe628ed897d ("crypto: atmel-aes - improve performances of data transfer")
Cc: stable@vger.kernel.org
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/atmel-aes.c

index bc0c40f10944ca90f473682e4e9da36de77f3fbd..9b0cb97055dc5ccd9cd6ca1b57a83b24ed2d802f 100644 (file)
@@ -2131,7 +2131,7 @@ static int atmel_aes_buff_init(struct atmel_aes_dev *dd)
 
 static void atmel_aes_buff_cleanup(struct atmel_aes_dev *dd)
 {
-       free_page((unsigned long)dd->buf);
+       free_pages((unsigned long)dd->buf, ATMEL_AES_BUFFER_ORDER);
 }
 
 static int atmel_aes_dma_init(struct atmel_aes_dev *dd)