linux/drivers/mtd/devices
James Kim f5d2ed4ed4 mtd: docg3: fix use-after-free in docg3_release()
[ Upstream commit ca19808bc6 ]

In docg3_release(), the docg3 pointer is obtained from
cascade->floors[0]->priv before the loop that calls
doc_release_device() on each floor. doc_release_device() frees the
docg3 struct via kfree(docg3) at line 1881. After the loop,
docg3->cascade->bch dereferences the already-freed pointer.

Fix this by accessing cascade->bch directly, which is equivalent
since docg3->cascade points back to the same cascade struct, and
is already available as a local variable. This also removes the
now-unused docg3 local variable.

Fixes: c8ae3f744d ("lib/bch: Rework a little bit the exported function names")
Cc: stable@vger.kernel.org
Signed-off-by: James Kim <james010kim@gmail.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2026-06-01 17:35:17 +02:00
..
bcm47xxsflash.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
bcm47xxsflash.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
block2mtd.c mtd: Convert fallthrough comments into statements 2020-03-30 10:14:54 +02:00
docg3.c mtd: docg3: fix use-after-free in docg3_release() 2026-06-01 17:35:17 +02:00
docg3.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
Kconfig mtd: devices: add support for microchip 48l640 EERAM 2021-06-11 20:43:12 +02:00
lart.c mtd: Avoid comma separated statements 2020-08-27 14:16:31 +02:00
Makefile mtd: devices: add support for microchip 48l640 EERAM 2021-06-11 20:43:12 +02:00
mchp23k256.c mtd: mchp23k256: Add SPI ID table 2022-04-08 14:23:29 +02:00
mchp48l640.c mtd: mchp48l640: Add SPI ID table 2022-04-08 14:23:29 +02:00
ms02-nv.c mtd: devices: Remove superfluous "break" 2021-05-26 10:58:26 +02:00
ms02-nv.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mtd_dataflash.c mtd: dataflash: Add SPI ID table 2022-08-17 14:23:45 +02:00
mtdram.c mtd: mtdram: Expose module parameters 2019-01-08 12:42:57 +01:00
phram.c mtd: phram: Prevent divide by zero bug in phram_setup() 2022-02-23 12:03:16 +01:00
pmc551.c mtd: pmc551: Remove set but not used variable 'soff_lo' 2019-09-15 23:51:07 +02:00
powernv_flash.c mtd: powernv: Add check devm_kasprintf() returned value 2024-10-17 15:10:50 +02:00
serial_flash_cmds.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 420 2019-06-05 17:37:15 +02:00
slram.c mtd: slram: insert break after errors in parsing the map 2024-10-17 15:10:50 +02:00
spear_smi.c mtd: spear_smi: use for_each_child_of_node() macro 2020-09-15 10:14:36 +02:00
sst25l.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 420 2019-06-05 17:37:15 +02:00
st_spi_fsm.c mtd: st_spi_fsm: Add a clk_disable_unprepare() in .probe()'s error path 2022-08-17 14:23:41 +02:00