mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-09-18 23:09:29 +02:00
scripts: coccinelle: devm_free: reduce false positives
False positives could be introduced due to allocations using the new _obj functions. Add these to the "safe" rule accordingly. False positives could also be introduced when the same variable name has two possible types. Incorporate type information to avoid reporting this case This does lead to false negatives when no type information is available. Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr> Reported-by: Ricardo Ribalda <ribalda@chromium.org>
This commit is contained in:
@@ -26,7 +26,8 @@ virtual report
|
||||
virtual context
|
||||
|
||||
@r depends on context || org || report@
|
||||
expression x;
|
||||
type T;
|
||||
T x;
|
||||
@@
|
||||
|
||||
(
|
||||
@@ -56,18 +57,26 @@ expression x;
|
||||
)
|
||||
|
||||
@safe depends on context || org || report exists@
|
||||
expression x;
|
||||
r.T x;
|
||||
position p;
|
||||
@@
|
||||
|
||||
(
|
||||
x = kmalloc(...)
|
||||
|
|
||||
x = kmalloc_obj(...)
|
||||
|
|
||||
x = kmalloc_objs(...)
|
||||
|
|
||||
x = kvasprintf(...)
|
||||
|
|
||||
x = kasprintf(...)
|
||||
|
|
||||
x = kzalloc(...)
|
||||
|
|
||||
x = kzalloc_obj(...)
|
||||
|
|
||||
x = kzalloc_objs(...)
|
||||
|
|
||||
x = kmalloc_array(...)
|
||||
|
|
||||
@@ -105,7 +114,7 @@ position p;
|
||||
)
|
||||
|
||||
@pb@
|
||||
expression r.x;
|
||||
r.T r.x;
|
||||
position p != safe.p;
|
||||
@@
|
||||
|
||||
|
||||
Reference in New Issue
Block a user