aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/coccinelle/free/kfreeaddr.cocci
diff options
context:
space:
mode:
authorYann Droneaud <ydroneaud@opteya.com>2016-05-23 17:07:19 +0200
committerMichal Marek <mmarek@suse.com>2016-06-21 11:43:32 +0200
commit6dd9379e8f327e70d182b15be3ba21aa2b5d2cba (patch)
tree0e8d95f8e1748444490f8be79ba1b2dd7bde6553 /scripts/coccinelle/free/kfreeaddr.cocci
parentcoccicheck: Allow for overriding spatch flags (diff)
downloadlinux-dev-6dd9379e8f327e70d182b15be3ba21aa2b5d2cba.tar.xz
linux-dev-6dd9379e8f327e70d182b15be3ba21aa2b5d2cba.zip
coccinelle: also catch kzfree() issues
Since commit 3ef0e5ba4673 ('slab: introduce kzfree()'), kfree() is no more the only function to be considered: kzfree() should be recognized too. In particular, kzfree() must not be called on memory allocated through devm_*() functions. Cc: Johannes Weiner <hannes@cmpxchg.org> Acked-by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Yann Droneaud <ydroneaud@opteya.com> Signed-off-by: Michal Marek <mmarek@suse.com>
Diffstat (limited to 'scripts/coccinelle/free/kfreeaddr.cocci')
-rw-r--r--scripts/coccinelle/free/kfreeaddr.cocci6
1 files changed, 5 insertions, 1 deletions
diff --git a/scripts/coccinelle/free/kfreeaddr.cocci b/scripts/coccinelle/free/kfreeaddr.cocci
index ce8aacc314cb..d46063b1db8b 100644
--- a/scripts/coccinelle/free/kfreeaddr.cocci
+++ b/scripts/coccinelle/free/kfreeaddr.cocci
@@ -16,7 +16,11 @@ identifier f;
position p;
@@
+(
* kfree@p(&e->f)
+|
+* kzfree@p(&e->f)
+)
@script:python depends on org@
p << r.p;
@@ -28,5 +32,5 @@ cocci.print_main("kfree",p)
p << r.p;
@@
-msg = "ERROR: kfree of structure field"
+msg = "ERROR: invalid free of structure field"
coccilib.report.print_report(p[0],msg)