diff options
Diffstat (limited to 'ANDROID_3.4.5/scripts/coccinelle/free/iounmap.cocci')
-rw-r--r-- | ANDROID_3.4.5/scripts/coccinelle/free/iounmap.cocci | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/ANDROID_3.4.5/scripts/coccinelle/free/iounmap.cocci b/ANDROID_3.4.5/scripts/coccinelle/free/iounmap.cocci deleted file mode 100644 index 5384f4ba..00000000 --- a/ANDROID_3.4.5/scripts/coccinelle/free/iounmap.cocci +++ /dev/null @@ -1,67 +0,0 @@ -/// Find missing iounmaps. -/// -//# This only signals a missing iounmap when there is an iounmap later -//# in the same function. -//# False positives can be due to loops. -// -// Confidence: Moderate -// Copyright: (C) 2012 Julia Lawall, INRIA/LIP6. GPLv2. -// Copyright: (C) 2012 Gilles Muller, INRIA/LiP6. GPLv2. -// URL: http://coccinelle.lip6.fr/ -// Comments: -// Options: - -virtual context -virtual org -virtual report - -@iom@ -expression e; -statement S,S1; -int ret; -position p1,p2,p3; -@@ - -e = \(ioremap@p1\|ioremap_nocache@p1\)(...) -... when != iounmap(e) -if (<+...e...+>) S -... when any - when != iounmap(e) - when != if (...) { ... iounmap(e); ... } -( - if (ret == 0) S1 -| -if (...) - { ... - return 0; } -| -if (...) - { ... - return <+...e...+>; } -| -*if@p2 (...) - { ... when != iounmap(e) - when forall - return@p3 ...; } -) -... when any -iounmap(e); - -@script:python depends on org@ -p1 << iom.p1; -p2 << iom.p2; -p3 << iom.p3; -@@ - -cocci.print_main("ioremap",p1) -cocci.print_secs("if",p2) -cocci.print_secs("needed iounmap",p3) - -@script:python depends on report@ -p1 << iom.p1; -p2 << iom.p2; -p3 << iom.p3; -@@ - -msg = "ERROR: missing iounmap; ioremap on line %s and execution via conditional on line %s" % (p1[0].line,p2[0].line) -coccilib.report.print_report(p3[0],msg) |