2013-03-16 12:02:46

by Silviu-Mihai Popescu

[permalink] [raw]
Subject: [PATCH] imx_drm: ipu_v3: fix invalid free of devm_* allocated data

The objects allocated by devm_* APIs are managed by devres and are freed
when the device is detached. There is no need to use kfree() explicitly.

Signed-off-by: Silviu-Mihai Popescu <[email protected]>
---
drivers/staging/imx-drm/ipu-v3/ipu-dp.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/staging/imx-drm/ipu-v3/ipu-dp.c b/drivers/staging/imx-drm/ipu-v3/ipu-dp.c
index 26aecaf..113b046 100644
--- a/drivers/staging/imx-drm/ipu-v3/ipu-dp.c
+++ b/drivers/staging/imx-drm/ipu-v3/ipu-dp.c
@@ -316,7 +316,6 @@ int ipu_dp_init(struct ipu_soc *ipu, struct device *dev, unsigned long base)

priv->base = devm_ioremap(dev, base, PAGE_SIZE);
if (!priv->base) {
- kfree(priv);
return -ENOMEM;
}

--
1.7.9.5


2013-03-19 10:33:27

by Sascha Hauer

[permalink] [raw]
Subject: Re: [PATCH] imx_drm: ipu_v3: fix invalid free of devm_* allocated data

On Sat, Mar 16, 2013 at 02:02:36PM +0200, Silviu-Mihai Popescu wrote:
> The objects allocated by devm_* APIs are managed by devres and are freed
> when the device is detached. There is no need to use kfree() explicitly.

Not only 'no need', it's simply wrong.

>
> Signed-off-by: Silviu-Mihai Popescu <[email protected]>

Acked-by: Sascha Hauer <[email protected]>

Sascha

> ---
> drivers/staging/imx-drm/ipu-v3/ipu-dp.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/staging/imx-drm/ipu-v3/ipu-dp.c b/drivers/staging/imx-drm/ipu-v3/ipu-dp.c
> index 26aecaf..113b046 100644
> --- a/drivers/staging/imx-drm/ipu-v3/ipu-dp.c
> +++ b/drivers/staging/imx-drm/ipu-v3/ipu-dp.c
> @@ -316,7 +316,6 @@ int ipu_dp_init(struct ipu_soc *ipu, struct device *dev, unsigned long base)
>
> priv->base = devm_ioremap(dev, base, PAGE_SIZE);
> if (!priv->base) {
> - kfree(priv);
> return -ENOMEM;
> }
>
> --
> 1.7.9.5
>
>

--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |