All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mtd: spinand: fix memory leak of ECC engine conf
@ 2025-06-09 18:02 Pablo MARTIN-GOMEZ
  2025-06-18  9:10 ` Miquel Raynal
  0 siblings, 1 reply; 2+ messages in thread
From: Pablo MARTIN-GOMEZ @ 2025-06-09 18:02 UTC (permalink / raw)
  To: Miquel Raynal, Vignesh Raghavendra; +Cc: linux-mtd

Memory allocated for the ECC engine conf is not released during spinand
cleanup. Below kmemleak trace is seen for this memory leak:

unreferenced object 0xffffff80064f00e0 (size 8):
   comm "swapper/0", pid 1, jiffies 4294937458
   hex dump (first 8 bytes):
     00 00 00 00 00 00 00 00                          ........
   backtrace (crc 0):
     kmemleak_alloc+0x30/0x40
     __kmalloc_cache_noprof+0x208/0x3c0
     spinand_ondie_ecc_init_ctx+0x114/0x200
     nand_ecc_init_ctx+0x70/0xa8
     nanddev_ecc_engine_init+0xec/0x27c
     spinand_probe+0xa2c/0x1620
     spi_mem_probe+0x130/0x21c
     spi_probe+0xf0/0x170
     really_probe+0x17c/0x6e8
     __driver_probe_device+0x17c/0x21c
     driver_probe_device+0x58/0x180
     __device_attach_driver+0x15c/0x1f8
     bus_for_each_drv+0xec/0x150
     __device_attach+0x188/0x24c
     device_initial_probe+0x10/0x20
     bus_probe_device+0x11c/0x160

Fix the leak by calling nanddev_ecc_engine_cleanup() inside
spinand_cleanup().

Signed-off-by: Pablo Martin-Gomez <pmartin-gomez@freebox.fr>
---
  drivers/mtd/nand/spi/core.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c
index b1df7f627161..a1877bf46550 100644
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
@@ -1496,6 +1496,7 @@ static void spinand_cleanup(struct spinand_device 
*spinand)
  {
      struct nand_device *nand = spinand_to_nand(spinand);

+    nanddev_ecc_engine_cleanup(nand);
      nanddev_cleanup(nand);
      spinand_manufacturer_cleanup(spinand);
      kfree(spinand->databuf);
-- 
2.43.0


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] mtd: spinand: fix memory leak of ECC engine conf
  2025-06-09 18:02 [PATCH] mtd: spinand: fix memory leak of ECC engine conf Pablo MARTIN-GOMEZ
@ 2025-06-18  9:10 ` Miquel Raynal
  0 siblings, 0 replies; 2+ messages in thread
From: Miquel Raynal @ 2025-06-18  9:10 UTC (permalink / raw)
  To: Pablo MARTIN-GOMEZ; +Cc: Vignesh Raghavendra, linux-mtd

Hi Pablo,

On 09/06/2025 at 20:02:08 +02, Pablo MARTIN-GOMEZ <pmartin-gomez@freebox.fr> wrote:

> Memory allocated for the ECC engine conf is not released during spinand
> cleanup. Below kmemleak trace is seen for this memory leak:
>
> unreferenced object 0xffffff80064f00e0 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294937458
>   hex dump (first 8 bytes):
>     00 00 00 00 00 00 00 00                          ........
>   backtrace (crc 0):
>     kmemleak_alloc+0x30/0x40
>     __kmalloc_cache_noprof+0x208/0x3c0
>     spinand_ondie_ecc_init_ctx+0x114/0x200
>     nand_ecc_init_ctx+0x70/0xa8
>     nanddev_ecc_engine_init+0xec/0x27c
>     spinand_probe+0xa2c/0x1620
>     spi_mem_probe+0x130/0x21c
>     spi_probe+0xf0/0x170
>     really_probe+0x17c/0x6e8
>     __driver_probe_device+0x17c/0x21c
>     driver_probe_device+0x58/0x180
>     __device_attach_driver+0x15c/0x1f8
>     bus_for_each_drv+0xec/0x150
>     __device_attach+0x188/0x24c
>     device_initial_probe+0x10/0x20
>     bus_probe_device+0x11c/0x160
>
> Fix the leak by calling nanddev_ecc_engine_cleanup() inside
> spinand_cleanup().
>
> Signed-off-by: Pablo Martin-Gomez <pmartin-gomez@freebox.fr>

This patch no longer applies on v6.16-rc1, can you please rebase and
resend ?

Thanks,
Miquèl

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-06-18  9:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-09 18:02 [PATCH] mtd: spinand: fix memory leak of ECC engine conf Pablo MARTIN-GOMEZ
2025-06-18  9:10 ` Miquel Raynal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.