mtd: spi-nor: core: Fix an issue of releasing resources during read/write
If rmmod the driver during read or write, the driver will release the resources which are used during read or write, so it is possible to refer to NULL pointer. Use the testcase "mtd_debug read /dev/mtd0 0xc00000 0x400000 dest_file & sleep 0.5;rmmod spi_hisi_sfc_v3xx.ko", the issue can be reproduced in hisi_sfc_v3xx driver. To avoid the issue, fill the interface _get_device and _put_device of mtd_info to grab the reference to the spi controller driver module, so the request of rmmod the driver is rejected before read/write is finished. Fixes: b199489d ("mtd: spi-nor: add the framework for SPI NOR") Signed-off-by: NXiang Chen <chenxiang66@hisilicon.com> Signed-off-by: NYicong Yang <yangyicong@hisilicon.com> Signed-off-by: NTudor Ambarus <tudor.ambarus@microchip.com> Tested-by: NMichael Walle <michael@walle.cc> Tested-by: NTudor Ambarus <tudor.ambarus@microchip.com> Reviewed-by: NMichael Walle <michael@walle.cc> Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/1617262486-4223-1-git-send-email-yangyicong@hisilicon.com
Showing
想要评论请 注册 或 登录