On Aug 29, 2010, at 2:47 PM, Julia Lawall wrote: > The function of_iomap returns the result of calling ioremap, so iounmap > should be called on the result in the error handling code, as done in the > normal exit of the function. > > The sematic match that finds this problem is as follows: > (http://coccinelle.lip6.fr/) > > // <smpl> > @r exists@ > local idexpression x; > expression E,E1; > identifier l; > statement S; > @@ > > *x = of_iomap(...); > ... when != iounmap(x) > when != if (...) { ... iounmap(x); ... } > when != E = x > when any > ( > if (x == NULL) S > | > if (...) { > ... when != iounmap(x) > when != if (...) { ... iounmap(x); ... } > ( > return <+...x...+>; > | > * return ...; > ) > } > ) > ... when != x = E1 > when any > iounmap(x); > // </smpl> > > Signed-off-by: Julia Lawall <julia@xxxxxxx> > > --- > arch/powerpc/platforms/83xx/mpc837x_mds.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) applied to merge - k -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html