The DM implementation of spi_flash_free() does not unregister the MTD
device before removing the spi dev object. This leads to a use-after-free
bug when the MTD device is later accessed by a MTD user (observed when
attaching the device to UBI after env_sf_load() has called
spi_flash_free()).
Implement ->remove() and call spi_flash_mtd_unregister() from there.
Fixes:
|
||
---|---|---|
.. | ||
fsl_espi_spl.c | ||
Kconfig | ||
Makefile | ||
sandbox.c | ||
sf_dataflash.c | ||
sf_internal.h | ||
sf_mtd.c | ||
sf_probe.c | ||
sf-uclass.c | ||
sf.c | ||
spi_flash_ids.c | ||
spi_flash.c |