Message ID | 1309788705-22278-3-git-send-email-julia@diku.dk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Julia Lawall <julia@diku.dk> writes: > From: Julia Lawall <julia@diku.dk> > > At this point, the ioremap has taken place, so the error handling code at > the label err_iounmap should be used rather than returning directly. > > The semantic match that finds this problem is as follows: > (http://coccinelle.lip6.fr/) > > // <smpl> > @r@ > identifier x; > @@ > > kfree(x) > > @@ > identifier r.x; > expression E1!=0,E2,E3,E4; > statement S; > @@ > > ( > if (<+...x...+>) S > | > if (...) { ... when != kfree(x) > when != if (...) { ... kfree(x); ... } > when != x = E3 > * return E1; > } > ... when != x = E2 > if (...) { ... when != x = E4 > kfree(x); ... return ...; } > ) > // </smpl> > > Signed-off-by: Julia Lawall <julia@diku.dk> Acked-by: Kevin Hilman <khilman@ti.com> Tony, can you add this to devel-fixes? Kevin
diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c index fb7dc52..e8280df 100644 --- a/arch/arm/mach-omap2/smartreflex.c +++ b/arch/arm/mach-omap2/smartreflex.c @@ -891,7 +891,7 @@ static int __init omap_sr_probe(struct platform_device *pdev) ret = sr_late_init(sr_info); if (ret) { pr_warning("%s: Error in SR late init\n", __func__); - return ret; + goto err_iounmap; } }