2023-10-02 07:38:40

by Woody Zhang

[permalink] [raw]
Subject: [PATCH 2/2] spi: sun4i: Fix memory leak on device removal

Call spi_master_put to free the spi_master structure on device removal
and driver detachment.

Signed-off-by: Woody Zhang <[email protected]>
---
drivers/spi/spi-sun4i.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/spi/spi-sun4i.c b/drivers/spi/spi-sun4i.c
index b8947265d329..ba5690039f72 100644
--- a/drivers/spi/spi-sun4i.c
+++ b/drivers/spi/spi-sun4i.c
@@ -518,7 +518,10 @@ static int sun4i_spi_probe(struct platform_device *pdev)

static void sun4i_spi_remove(struct platform_device *pdev)
{
+ struct spi_master *master = dev_get_drvdata(&pdev->dev);
+
pm_runtime_force_suspend(&pdev->dev);
+ spi_master_put(master);
}

static const struct of_device_id sun4i_spi_match[] = {
--
2.39.2


2023-10-02 14:13:16

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH 2/2] spi: sun4i: Fix memory leak on device removal

On Mon, Oct 02, 2023 at 02:29:59PM +0800, Woody Zhang wrote:

> Call spi_master_put to free the spi_master structure on device removal
> and driver detachment.

> static void sun4i_spi_remove(struct platform_device *pdev)
> {
> + struct spi_master *master = dev_get_drvdata(&pdev->dev);
> +
> pm_runtime_force_suspend(&pdev->dev);
> + spi_master_put(master);
> }

This is just obviously buggy, it doesn't match the registration at all.


Attachments:
(No filename) (455.00 B)
signature.asc (499.00 B)
Download all attachments