On Mon, Jan 07, 2013 at 11:00:16AM +0100, Julia Lawall wrote: > From: Julia Lawall <Julia.Lawall@xxxxxxx> > > The data referenced by an interrupt handler should not be freed before the > interrupt is ended. The handler is bfin_crypto_crc_handler. It may refer > to crc->regs, which is released by the iounmap. > > Furthermore, the second argument to all calls to free_irq is incorrect. It > should be the same as the last argument of request_irq, which is crc, > rather than crc->dev. > > The semantic match that finds the first problem is as follows: > (http://coccinelle.lip6.fr/) > > // <smpl> > @fn exists@ > expression list es; > expression a,b; > identifier f; > @@ > > if (...) { > ... when any > free_irq(a,b); > ... when any > f(es); > ... when any > return ...; > } > > @@ > expression list fn.es; > expression fn.a,fn.b; > identifier fn.f; > @@ > > *f(es); > ... when any > *free_irq(a,b); > // </smpl> > > Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Patch applied. Thanks. -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- 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