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: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
Родитель
0a5f417674
Коммит
e856f3a7d7
|
@ -56,9 +56,62 @@ expression x;
|
||||||
x = devm_ioport_map(...)
|
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@
|
@pb@
|
||||||
expression r.x;
|
expression r.x;
|
||||||
position p;
|
position p != safe.p;
|
||||||
@@
|
@@
|
||||||
|
|
||||||
(
|
(
|
||||||
|
|
Загрузка…
Ссылка в новой задаче