spi: fsl-lib: Fix memory leak of pinfo
PATCH 1/1 spi: fsl-lib: Fix memory leak of pinfo
of_mpc8xxx_spi_probe() allocates memory for pinfo but the memory is not freed anywhere. of_mpc8xxx_spi_probe() is called in .probe() and pinfo should be freed in .remove(), so convert kzalloc to devm_kzalloc to fix the memory leak.
Signed-off-by Axel Lin <[email protected]>
--- drivers/spi/spi-fsl-lib.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-)
drivers/spi/spi-fsl-lib.c +4 -10
@@ -200,7 +200,7 @@ int of_mpc8xxx_spi_probe(struct platform_device *ofdev)const void *prop;int ret = -ENOMEM ; - pinfo =kzalloc (sizeof (*pinfo),GFP_KERNEL ); + pinfo =devm_kzalloc (&ofdev->dev,sizeof (*pinfo),GFP_KERNEL );if (!pinfo)return -ENOMEM ;
@@ -215,15 +215,13 @@ int of_mpc8xxx_spi_probe(struct platform_device *ofdev) pdata->sysclk =get_brgfreq ();if (pdata->sysclk ==-1 ) { pdata->sysclk =fsl_get_sys_freq (); -if (pdata->sysclk ==-1 ) { - ret = -ENODEV ; - goto err; - } +if (pdata->sysclk ==-1 ) +return -ENODEV ; }#else ret =of_property_read_u32 (np,"clock-frequency" , &pdata->sysclk);if (ret) - goto err; +return ret;#endif prop =of_get_property (np,"mode" ,NULL );
@@ -237,8 +235,4 @@ int of_mpc8xxx_spi_probe(struct platform_device *ofdev) pdata->flags =SPI_CPM_MODE |SPI_CPM1 ;return 0 ; - -err: -kfree (pinfo); -return ret; }
Signature · 8 lines
1.8.3.2 -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Mark Brown
AppliedQuoted 3 lines · Axel Lin
of_mpc8xxx_spi_probe()allocates memory for pinfo but the memory is not freed anywhere.of_mpc8xxx_spi_probe()is called in .probe() and pinfo should be freed in .remove(), so convert kzalloc todevm_kzallocto fix the memory leak.
Applied, thanks.