summaryrefslogtreecommitdiff
path: root/ANDROID_3.4.5/scripts/coccinelle/locks/mini_lock.cocci
diff options
context:
space:
mode:
authorSrikant Patnaik2015-01-11 12:28:04 +0530
committerSrikant Patnaik2015-01-11 12:28:04 +0530
commit871480933a1c28f8a9fed4c4d34d06c439a7a422 (patch)
tree8718f573808810c2a1e8cb8fb6ac469093ca2784 /ANDROID_3.4.5/scripts/coccinelle/locks/mini_lock.cocci
parent9d40ac5867b9aefe0722bc1f110b965ff294d30d (diff)
downloadFOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.gz
FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.bz2
FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.zip
Moved, renamed, and deleted files
The original directory structure was scattered and unorganized. Changes are basically to make it look like kernel structure.
Diffstat (limited to 'ANDROID_3.4.5/scripts/coccinelle/locks/mini_lock.cocci')
-rw-r--r--ANDROID_3.4.5/scripts/coccinelle/locks/mini_lock.cocci96
1 files changed, 0 insertions, 96 deletions
diff --git a/ANDROID_3.4.5/scripts/coccinelle/locks/mini_lock.cocci b/ANDROID_3.4.5/scripts/coccinelle/locks/mini_lock.cocci
deleted file mode 100644
index 3267d741..00000000
--- a/ANDROID_3.4.5/scripts/coccinelle/locks/mini_lock.cocci
+++ /dev/null
@@ -1,96 +0,0 @@
-/// Find missing unlocks. This semantic match considers the specific case
-/// where the unlock is missing from an if branch, and there is a lock
-/// before the if and an unlock after the if. False positives are due to
-/// cases where the if branch represents a case where the function is
-/// supposed to exit with the lock held, or where there is some preceding
-/// function call that releases the lock.
-///
-// Confidence: Moderate
-// Copyright: (C) 2010-2012 Nicolas Palix. GPLv2.
-// Copyright: (C) 2010-2012 Julia Lawall, INRIA/LIP6. GPLv2.
-// Copyright: (C) 2010-2012 Gilles Muller, INRIA/LiP6. GPLv2.
-// URL: http://coccinelle.lip6.fr/
-// Comments:
-// Options: -no_includes -include_headers
-
-virtual context
-virtual org
-virtual report
-
-@prelocked@
-position p1,p;
-expression E1;
-@@
-
-(
-mutex_lock@p1
-|
-mutex_trylock@p1
-|
-spin_lock@p1
-|
-spin_trylock@p1
-|
-read_lock@p1
-|
-read_trylock@p1
-|
-write_lock@p1
-|
-write_trylock@p1
-|
-read_lock_irq@p1
-|
-write_lock_irq@p1
-|
-read_lock_irqsave@p1
-|
-write_lock_irqsave@p1
-|
-spin_lock_irq@p1
-|
-spin_lock_irqsave@p1
-) (E1@p,...);
-
-@looped@
-position r;
-@@
-
-for(...;...;...) { <+... return@r ...; ...+> }
-
-@err exists@
-expression E1;
-position prelocked.p;
-position up != prelocked.p1;
-position r!=looped.r;
-identifier lock,unlock;
-@@
-
-*lock(E1@p,...);
-<+... when != E1
-if (...) {
- ... when != E1
-* return@r ...;
-}
-...+>
-*unlock@up(E1,...);
-
-@script:python depends on org@
-p << prelocked.p1;
-lock << err.lock;
-unlock << err.unlock;
-p2 << err.r;
-@@
-
-cocci.print_main(lock,p)
-cocci.print_secs(unlock,p2)
-
-@script:python depends on report@
-p << prelocked.p1;
-lock << err.lock;
-unlock << err.unlock;
-p2 << err.r;
-@@
-
-msg = "preceding lock on line %s" % (p[0].line)
-coccilib.report.print_report(p2[0],msg)