summaryrefslogtreecommitdiffstats
path: root/scripts/coccinelle
diff options
context:
space:
mode:
authorNicolas Palix <npalix@diku.dk>2010-08-24 17:38:55 +0200
committerMichal Marek <mmarek@suse.cz>2010-08-31 11:37:52 +0200
commitc75b81bffa0a9493a24ae61d0c52f85e4043c183 (patch)
tree352ca7c50e93d28a8c4f16d7f0ca5d8e0f758ae9 /scripts/coccinelle
parentscripts/dtc: Fix a resource leak (diff)
downloadlinux-c75b81bffa0a9493a24ae61d0c52f85e4043c183.tar.xz
linux-c75b81bffa0a9493a24ae61d0c52f85e4043c183.zip
Coccinelle: Add null/eno.cocci
The various basic memory allocation functions don't return ERR_PTR Signed-off-by: Nicolas Palix <npalix@diku.dk> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Michal Marek <mmarek@suse.cz>
Diffstat (limited to 'scripts/coccinelle')
-rw-r--r--scripts/coccinelle/null/eno.cocci20
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/coccinelle/null/eno.cocci b/scripts/coccinelle/null/eno.cocci
new file mode 100644
index 000000000000..4c9c52b9c413
--- /dev/null
+++ b/scripts/coccinelle/null/eno.cocci
@@ -0,0 +1,20 @@
+/// The various basic memory allocation functions don't return ERR_PTR
+///
+// Confidence: High
+// Copyright: (C) 2010 Nicolas Palix, DIKU. GPLv2.
+// Copyright: (C) 2010 Julia Lawall, DIKU. GPLv2.
+// Copyright: (C) 2010 Gilles Muller, INRIA/LiP6. GPLv2.
+// URL: http://coccinelle.lip6.fr/
+// Comments:
+// Options: -no_includes -include_headers
+
+virtual patch
+
+@@
+expression x,E;
+@@
+
+x = \(kmalloc\|kzalloc\|kcalloc\|kmem_cache_alloc\|kmem_cache_zalloc\|kmem_cache_alloc_node\|kmalloc_node\|kzalloc_node\)(...)
+... when != x = E
+- IS_ERR(x)
++ !x