]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - scripts/coccinelle/free/ifnullfree.cocci
Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
[karo-tx-linux.git] / scripts / coccinelle / free / ifnullfree.cocci
index a42d70bf88b3b5f834eb5654d5e52519982568d4..52bd235286fa60bb345172d58805e9ae9d04fe0d 100644 (file)
@@ -16,19 +16,21 @@ virtual context
 @r2 depends on patch@
 expression E;
 @@
-- if (E)
+- if (E != NULL)
 (
--      kfree(E);
-+ kfree(E);
+  kfree(E);
 |
--      debugfs_remove(E);
-+ debugfs_remove(E);
+  debugfs_remove(E);
 |
--      debugfs_remove_recursive(E);
-+ debugfs_remove_recursive(E);
+  debugfs_remove_recursive(E);
 |
--      usb_free_urb(E);
-+ usb_free_urb(E);
+  usb_free_urb(E);
+|
+  kmem_cache_destroy(E);
+|
+  mempool_destroy(E);
+|
+  dma_pool_destroy(E);
 )
 
 @r depends on context || report || org @
@@ -36,8 +38,10 @@ expression E;
 position p;
 @@
 
-* if (E)
-*      \(kfree@p\|debugfs_remove@p\|debugfs_remove_recursive@p\|usb_free_urb\)(E);
+* if (E != NULL)
+*      \(kfree@p\|debugfs_remove@p\|debugfs_remove_recursive@p\|
+*         usb_free_urb@p\|kmem_cache_destroy@p\|mempool_destroy@p\|
+*         dma_pool_destroy@p\)(E);
 
 @script:python depends on org@
 p << r.p;