diff options
Diffstat (limited to 'ANDROID_3.4.5/scripts/coccinelle/free/devm_free.cocci')
-rw-r--r-- | ANDROID_3.4.5/scripts/coccinelle/free/devm_free.cocci | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/ANDROID_3.4.5/scripts/coccinelle/free/devm_free.cocci b/ANDROID_3.4.5/scripts/coccinelle/free/devm_free.cocci deleted file mode 100644 index 0a1e3614..00000000 --- a/ANDROID_3.4.5/scripts/coccinelle/free/devm_free.cocci +++ /dev/null @@ -1,71 +0,0 @@ -/// Find uses of standard freeing functons on values allocated using devm_ -/// functions. Values allocated using the devm_functions are freed when -/// the device is detached, and thus the use of the standard freeing -/// function would cause a double free. -/// See Documentation/driver-model/devres.txt for more information. -/// -/// A difficulty of detecting this problem is that the standard freeing -/// function might be called from a different function than the one -/// containing the allocation function. It is thus necessary to make the -/// connection between the allocation function and the freeing function. -/// Here this is done using the specific argument text, which is prone to -/// false positives. There is no rule for the request_region and -/// request_mem_region variants because this heuristic seems to be a bit -/// less reliable in these cases. -/// -// Confidence: Moderate -// Copyright: (C) 2011 Julia Lawall, INRIA/LIP6. GPLv2. -// Copyright: (C) 2011 Gilles Muller, INRIA/LiP6. GPLv2. -// URL: http://coccinelle.lip6.fr/ -// Comments: -// Options: -no_includes -include_headers - -virtual org -virtual report -virtual context - -@r depends on context || org || report@ -expression x; -@@ - -( - x = devm_kzalloc(...) -| - x = devm_request_irq(...) -| - x = devm_ioremap(...) -| - x = devm_ioremap_nocache(...) -| - x = devm_ioport_map(...) -) - -@pb@ -expression r.x; -position p; -@@ - -( -* kfree@p(x) -| -* free_irq@p(x) -| -* iounmap@p(x) -| -* ioport_unmap@p(x) -) - -@script:python depends on org@ -p << pb.p; -@@ - -msg="WARNING: invalid free of devm_ allocated data" -coccilib.org.print_todo(p[0], msg) - -@script:python depends on report@ -p << pb.p; -@@ - -msg="WARNING: invalid free of devm_ allocated data" -coccilib.report.print_report(p[0], msg) - |