spi: meson-spicc: fix memory leak in meson_spicc_remove
authorDongliang Mu <mudongliangabcd@gmail.com>
Tue, 20 Jul 2021 10:01:16 +0000 (18:01 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 15 Aug 2021 11:03:32 +0000 (13:03 +0200)
commit 8311ee2164c5cd1b63a601ea366f540eae89f10e upstream.

In meson_spicc_probe, the error handling code needs to clean up master
by calling spi_master_put, but the remove function does not have this
function call. This will lead to memory leak of spicc->master.

Reported-by: Dongliang Mu <mudongliangabcd@gmail.com>
Fixes: 454fa271bc4e("spi: Add Meson SPICC driver")
Signed-off-by: Dongliang Mu <mudongliangabcd@gmail.com>
Link: https://lore.kernel.org/r/20210720100116.1438974-1-mudongliangabcd@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/spi/spi-meson-spicc.c

index a5b0df7e6131e56d9eb63abf995dab6d9b89d13b..4d1d7053291b281853b411a3f784e996b565b2cc 100644 (file)
@@ -599,6 +599,8 @@ static int meson_spicc_remove(struct platform_device *pdev)
 
        clk_disable_unprepare(spicc->core);
 
+       spi_master_put(spicc->master);
+
        return 0;
 }