linux-yocto/drivers/mtd
Pablo Martin-Gomez 68d3417305 mtd: spinand: fix memory leak of ECC engine conf
[ Upstream commit 6463cbe08b ]

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>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-07-10 15:57:47 +02:00
..
chips
devices mtd: powernv: Add check devm_kasprintf() returned value 2024-10-17 15:10:50 +02:00
hyperbus mtd: hyperbus: hbmc-am654: fix an OF node reference leak 2025-03-13 12:50:09 +01:00
lpddr
maps
nand mtd: spinand: fix memory leak of ECC engine conf 2025-07-10 15:57:47 +02:00
parsers mtd: partitions: redboot: Added conversion of operands to a larger type 2024-07-05 09:14:43 +02:00
spi-nor Revert "mtd: spi-nor: core: replace dummy buswidth from addr to data" 2025-01-23 17:15:59 +01:00
tests mtd: make mtd_test.c a separate module 2024-08-19 05:45:05 +02:00
ubi ubi: fastmap: Fix duplicate slab cache names while attaching 2024-12-14 19:51:20 +01:00
ftl.c
inftlcore.c mtd: inftlcore: Add error check for inftl_read_oob() 2025-05-02 07:44:04 +02:00
inftlmount.c
Kconfig
Makefile
mtd_blkdevs.c
mtdblock_ro.c
mtdblock.c
mtdchar.c
mtdconcat.c
mtdcore.c
mtdcore.h
mtdoops.c
mtdpart.c
mtdpstore.c mtd: Replace kcalloc() with devm_kcalloc() 2025-05-02 07:44:02 +02:00
mtdsuper.c
mtdswap.c
nftlcore.c
nftlmount.c
rfd_ftl.c
sm_ftl.c
sm_ftl.h
ssfdc.c