Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e856f3a7 authored by Julia Lawall's avatar Julia Lawall Committed by Masahiro Yamada
Browse files

coccinelle: devm_free: reduce false positives



Some files use both a non-devm allocation and a devm_allocation.  Don't
complain about a free when the same function contains a non-devm
allocation.

Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent 0a5f4176
Loading
Loading
Loading
Loading
+54 −1
Original line number Diff line number Diff line
@@ -56,9 +56,62 @@ expression x;
 x = devm_ioport_map(...)
)

@safe depends on context || org || report exists@
expression x;
position p;
@@

(
 x = kmalloc(...)
|
 x = kvasprintf(...)
|
 x = kasprintf(...)
|
 x = kzalloc(...)
|
 x = kmalloc_array(...)
|
 x = kcalloc(...)
|
 x = kstrdup(...)
|
 x = kmemdup(...)
|
 x = get_free_pages(...)
|
 x = request_irq(...)
|
 x = ioremap(...)
|
 x = ioremap_nocache(...)
|
 x = ioport_map(...)
)
...
(
 kfree@p(x)
|
 kzfree@p(x)
|
 __krealloc@p(x, ...)
|
 krealloc@p(x, ...)
|
 free_pages@p(x, ...)
|
 free_page@p(x)
|
 free_irq@p(x)
|
 iounmap@p(x)
|
 ioport_unmap@p(x)
)

@pb@
expression r.x;
position p;
position p != safe.p;
@@

(