[alsa-devel] [PATCH 1/4] sound/soc/kirkwood/kirkwood-i2s.c: add missing kfree
From: Julia Lawall julia@diku.dk
Adjust the goto to jump to the error handling code that includes kfree.
A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/)
// <smpl> @@ identifier x; expression E1!=0,E2,E3,E4; statement S; iterator I; @@
( if (...) { ... when != kfree(x) when != x = E3 when != E3 = x * return ...; } ... when != x = E2 when != I(...,x,...) S if (...) { ... when != x = E4 kfree(x); ... return ...; } ) // </smpl>
Signed-off-by: Julia Lawall julia@diku.dk
--- sound/soc/kirkwood/kirkwood-i2s.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/kirkwood/kirkwood-i2s.c b/sound/soc/kirkwood/kirkwood-i2s.c index a33fc51..8f16cd3 100644 --- a/sound/soc/kirkwood/kirkwood-i2s.c +++ b/sound/soc/kirkwood/kirkwood-i2s.c @@ -424,7 +424,7 @@ static __devinit int kirkwood_i2s_dev_probe(struct platform_device *pdev) if (!priv->mem) { dev_err(&pdev->dev, "request_mem_region failed\n"); err = -EBUSY; - goto error; + goto error_alloc; }
priv->io = ioremap(priv->mem->start, SZ_16K);
On 20/08/11 07:12, Julia Lawall wrote:
From: Julia Lawall julia@diku.dk
Adjust the goto to jump to the error handling code that includes kfree.
A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/)
// <smpl> @@ identifier x; expression E1!=0,E2,E3,E4; statement S; iterator I; @@
( if (...) { ... when != kfree(x) when != x = E3 when != E3 = x
- return ...;
} ... when != x = E2 when != I(...,x,...) S if (...) { ... when != x = E4 kfree(x); ... return ...; } ) // </smpl>
Signed-off-by: Julia Lawall julia@diku.dk
sound/soc/kirkwood/kirkwood-i2s.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/kirkwood/kirkwood-i2s.c b/sound/soc/kirkwood/kirkwood-i2s.c index a33fc51..8f16cd3 100644 --- a/sound/soc/kirkwood/kirkwood-i2s.c +++ b/sound/soc/kirkwood/kirkwood-i2s.c @@ -424,7 +424,7 @@ static __devinit int kirkwood_i2s_dev_probe(struct platform_device *pdev) if (!priv->mem) { dev_err(&pdev->dev, "request_mem_region failed\n"); err = -EBUSY;
goto error;
goto error_alloc;
}
priv->io = ioremap(priv->mem->start, SZ_16K);
All
Acked-by: Liam Girdwood lrg@ti.com
On Sat, Aug 20, 2011 at 08:12:38AM +0200, Julia Lawall wrote:
From: Julia Lawall julia@diku.dk
Adjust the goto to jump to the error handling code that includes kfree.
A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/)
Applied, thanks.
A fix merged in 3.1-rc2 introduced a small regression, this should get it to build again.
Signed-off-by: Arnd Bergmann arnd@arndb.de --- On Saturday 20 August 2011 08:12:38 Julia Lawall wrote:
From: Julia Lawall julia@diku.dk
Adjust the goto to jump to the error handling code that includes kfree.
/home/arnd/linux-arm/sound/soc/kirkwood/kirkwood-i2s.c: In function 'kirkwood_i2s_dev_probe': /home/arnd/linux-arm/sound/soc/kirkwood/kirkwood-i2s.c:427:3: error: label 'error_alloc' used but not defined
diff --git a/sound/soc/kirkwood/kirkwood-i2s.c b/sound/soc/kirkwood/kirkwood-i2s.c index 8f16cd3..d0bcf3f 100644 --- a/sound/soc/kirkwood/kirkwood-i2s.c +++ b/sound/soc/kirkwood/kirkwood-i2s.c @@ -424,7 +424,7 @@ static __devinit int kirkwood_i2s_dev_probe(struct platform_device *pdev) if (!priv->mem) { dev_err(&pdev->dev, "request_mem_region failed\n"); err = -EBUSY; - goto error_alloc; + goto err_alloc; }
priv->io = ioremap(priv->mem->start, SZ_16K);
On 11 September 2011 19:07, Arnd Bergmann arnd@arndb.de wrote:
A fix merged in 3.1-rc2 introduced a small regression, this should get it to build again.
Signed-off-by: Arnd Bergmann arnd@arndb.de
On Saturday 20 August 2011 08:12:38 Julia Lawall wrote:
From: Julia Lawall julia@diku.dk
Adjust the goto to jump to the error handling code that includes kfree.
/home/arnd/linux-arm/sound/soc/kirkwood/kirkwood-i2s.c: In function 'kirkwood_i2s_dev_probe': /home/arnd/linux-arm/sound/soc/kirkwood/kirkwood-i2s.c:427:3: error: label 'error_alloc' used but not defined
diff --git a/sound/soc/kirkwood/kirkwood-i2s.c b/sound/soc/kirkwood/kirkwood-i2s.c index 8f16cd3..d0bcf3f 100644 --- a/sound/soc/kirkwood/kirkwood-i2s.c +++ b/sound/soc/kirkwood/kirkwood-i2s.c @@ -424,7 +424,7 @@ static __devinit int kirkwood_i2s_dev_probe(struct platform_device *pdev) if (!priv->mem) { dev_err(&pdev->dev, "request_mem_region failed\n"); err = -EBUSY;
goto error_alloc;
goto err_alloc; } priv->io = ioremap(priv->mem->start, SZ_16K);
Acked-by: Liam Girdwood lrg@ti.com
On Sun, Sep 11, 2011 at 08:07:30PM +0200, Arnd Bergmann wrote:
A fix merged in 3.1-rc2 introduced a small regression, this should get it to build again.
Signed-off-by: Arnd Bergmann arnd@arndb.de
Applied, thanks.
Please try to make sure that your commit logs match the style of the subsystem.
participants (5)
-
Arnd Bergmann
-
Girdwood, Liam
-
Julia Lawall
-
Liam Girdwood
-
Mark Brown