spi: microchip-core: fix UAF in mchp_corespi_remove()
authorYang Yingliang <yangyingliang@huawei.com>
Wed, 13 Jul 2022 02:56:55 +0000 (10:56 +0800)
committerMark Brown <broonie@kernel.org>
Wed, 13 Jul 2022 12:48:58 +0000 (13:48 +0100)
When using devm_spi_register_master(), the unregister function will
be called in devres_release_all() which is called after ->remove(),
so remove spi_unregister_master() andspi_master_put().

Fixes: 9ac8d17694b6 ("spi: add support for microchip fpga spi controllers")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20220713025657.3524506-2-yangyingliang@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-microchip-core.c

index b3083075cd36519eac7bba974d61bcb51b8f416b..c26767343176fe972e89497942f76adafbb9b587 100644 (file)
@@ -595,8 +595,6 @@ static int mchp_corespi_remove(struct platform_device *pdev)
        struct mchp_corespi *spi = spi_master_get_devdata(master);
 
        mchp_corespi_disable_ints(spi);
-       spi_unregister_master(master);
-       spi_master_put(master);
        clk_disable_unprepare(spi->clk);
        mchp_corespi_disable(spi);