* [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).