linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ARM: imx: add missing kfree call in error paths
@ 2014-05-22 13:14 Emil Goode
  2014-05-22 13:50 ` Dan Carpenter
  0 siblings, 1 reply; 4+ messages in thread
From: Emil Goode @ 2014-05-22 13:14 UTC (permalink / raw)
  To: Uwe Kleine-König, Shawn Guo, Sascha Hauer, Russell King
  Cc: linux-arm-kernel, linux-kernel, kernel-janitors, Emil Goode

We forgot to free pdev->dev.dma_mask as it is not freed
by platform_device_put().

Signed-off-by: Emil Goode <emilgoode@gmail.com>
---
 arch/arm/mach-imx/mach-mx31_3ds.c    |    4 +++-
 arch/arm/mach-imx/mach-mx31moboard.c |    4 +++-
 arch/arm/mach-imx/mach-mx35_3ds.c    |    4 +++-
 arch/arm/mach-imx/mach-pcm037.c      |    4 +++-
 4 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-imx/mach-mx31_3ds.c b/arch/arm/mach-imx/mach-mx31_3ds.c
index 453f41a..8de1019 100644
--- a/arch/arm/mach-imx/mach-mx31_3ds.c
+++ b/arch/arm/mach-imx/mach-mx31_3ds.c
@@ -201,9 +201,11 @@ static int __init mx31_3ds_init_camera(void)
 		goto err;
 
 	ret = platform_device_add(pdev);
-	if (ret)
+	if (ret) {
 err:
+		kfree(pdev->dev.dma_mask);
 		platform_device_put(pdev);
+	}
 
 	return ret;
 }
diff --git a/arch/arm/mach-imx/mach-mx31moboard.c b/arch/arm/mach-imx/mach-mx31moboard.c
index 6bed570..f24a93c 100644
--- a/arch/arm/mach-imx/mach-mx31moboard.c
+++ b/arch/arm/mach-imx/mach-mx31moboard.c
@@ -494,9 +494,11 @@ static int __init mx31moboard_init_cam(void)
 		goto err;
 
 	ret = platform_device_add(pdev);
-	if (ret)
+	if (ret) {
 err:
+		kfree(pdev->dev.dma_mask);
 		platform_device_put(pdev);
+	}
 
 	return ret;
 
diff --git a/arch/arm/mach-imx/mach-mx35_3ds.c b/arch/arm/mach-imx/mach-mx35_3ds.c
index 72cd77d..ffdddb3 100644
--- a/arch/arm/mach-imx/mach-mx35_3ds.c
+++ b/arch/arm/mach-imx/mach-mx35_3ds.c
@@ -284,9 +284,11 @@ static int __init imx35_3ds_init_camera(void)
 		goto err;
 
 	ret = platform_device_add(pdev);
-	if (ret)
+	if (ret) {
 err:
+		kfree(pdev->dev.dma_mask);
 		platform_device_put(pdev);
+	}
 
 	return ret;
 }
diff --git a/arch/arm/mach-imx/mach-pcm037.c b/arch/arm/mach-imx/mach-pcm037.c
index 8eb1570..764a111 100644
--- a/arch/arm/mach-imx/mach-pcm037.c
+++ b/arch/arm/mach-imx/mach-pcm037.c
@@ -427,9 +427,11 @@ static int __init pcm037_init_camera(void)
 		goto err;
 
 	ret = platform_device_add(pdev);
-	if (ret)
+	if (ret) {
 err:
+		kfree(pdev->dev.dma_mask);
 		platform_device_put(pdev);
+	}
 
 	return ret;
 }
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] ARM: imx: add missing kfree call in error paths
  2014-05-22 13:14 [PATCH] ARM: imx: add missing kfree call in error paths Emil Goode
@ 2014-05-22 13:50 ` Dan Carpenter
  2014-05-22 14:44   ` Emil Goode
  0 siblings, 1 reply; 4+ messages in thread
From: Dan Carpenter @ 2014-05-22 13:50 UTC (permalink / raw)
  To: Emil Goode
  Cc: Uwe Kleine-König, Shawn Guo, Sascha Hauer, Russell King,
	linux-arm-kernel, linux-kernel, kernel-janitors

On Thu, May 22, 2014 at 03:14:42PM +0200, Emil Goode wrote:
> We forgot to free pdev->dev.dma_mask as it is not freed
> by platform_device_put().
> 

Every function which calls imx31_alloc_mx3_camera() is buggy.  That
means that, at best, it is a 2 on Rusty's API rating.
http://sweng.the-davies.net/Home/rustys-api-design-manifesto

The correct fix is to introduce an imx31_free_mx3_camera() otherwise we
will just keep introducing these bugs.

regards,
dan carpenter


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ARM: imx: add missing kfree call in error paths
  2014-05-22 13:50 ` Dan Carpenter
@ 2014-05-22 14:44   ` Emil Goode
  2014-05-22 20:12     ` Dan Carpenter
  0 siblings, 1 reply; 4+ messages in thread
From: Emil Goode @ 2014-05-22 14:44 UTC (permalink / raw)
  To: Dan Carpenter
  Cc: Uwe Kleine-König, Shawn Guo, Sascha Hauer, Russell King,
	linux-arm-kernel, linux-kernel, kernel-janitors

Hello Dan,

On Thu, May 22, 2014 at 04:50:16PM +0300, Dan Carpenter wrote:
> On Thu, May 22, 2014 at 03:14:42PM +0200, Emil Goode wrote:
> > We forgot to free pdev->dev.dma_mask as it is not freed
> > by platform_device_put().
> > 
> 
> Every function which calls imx31_alloc_mx3_camera() is buggy.  That
> means that, at best, it is a 2 on Rusty's API rating.
> http://sweng.the-davies.net/Home/rustys-api-design-manifesto
> 
> The correct fix is to introduce an imx31_free_mx3_camera() otherwise we
> will just keep introducing these bugs.

I guess I could add this to arch/arm/mach-imx/devices/platform-ipu-core.c
it would be a very small function though.

Best regards,

Emil Goode

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ARM: imx: add missing kfree call in error paths
  2014-05-22 14:44   ` Emil Goode
@ 2014-05-22 20:12     ` Dan Carpenter
  0 siblings, 0 replies; 4+ messages in thread
From: Dan Carpenter @ 2014-05-22 20:12 UTC (permalink / raw)
  To: Emil Goode
  Cc: Uwe Kleine-König, Shawn Guo, Sascha Hauer, Russell King,
	linux-arm-kernel, linux-kernel, kernel-janitors

On Thu, May 22, 2014 at 04:44:46PM +0200, Emil Goode wrote:
> Hello Dan,
> 
> On Thu, May 22, 2014 at 04:50:16PM +0300, Dan Carpenter wrote:
> > On Thu, May 22, 2014 at 03:14:42PM +0200, Emil Goode wrote:
> > > We forgot to free pdev->dev.dma_mask as it is not freed
> > > by platform_device_put().
> > > 
> > 
> > Every function which calls imx31_alloc_mx3_camera() is buggy.  That
> > means that, at best, it is a 2 on Rusty's API rating.
> > http://sweng.the-davies.net/Home/rustys-api-design-manifesto
> > 
> > The correct fix is to introduce an imx31_free_mx3_camera() otherwise we
> > will just keep introducing these bugs.
> 
> I guess I could add this to arch/arm/mach-imx/devices/platform-ipu-core.c
> it would be a very small function though.

A small function is fine.  :)

regards,
dan carpenter


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-05-22 20:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-22 13:14 [PATCH] ARM: imx: add missing kfree call in error paths Emil Goode
2014-05-22 13:50 ` Dan Carpenter
2014-05-22 14:44   ` Emil Goode
2014-05-22 20:12     ` Dan Carpenter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).