mtd: lantiq-flash: drop iounmap for devm_ allocated data
authorJulia Lawall <julia@diku.dk>
Mon, 26 Dec 2011 17:38:01 +0000 (18:38 +0100)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Mon, 9 Jan 2012 18:24:05 +0000 (18:24 +0000)
commitaf32b36095147e1828496b58987c1e24ef40487d
tree377f57e77ef19d5b4dd206c343259cc8a5e6a207
parent775c32208708de3e2e2379c85e429ab11957f864
mtd: lantiq-flash: drop iounmap for devm_ allocated data

Data allocated with devm_ioremap or devm_ioremap_nocache should not be
freed using iounmap, because doing so causes a dangling pointer, and a
subsequent double free.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r@
expression x;
@@
(
 x = devm_ioremap(...)
|
 x = devm_ioremap_nocache(...)
)

@@
expression r.x;
@@
* iounmap(x)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/maps/lantiq-flash.c