%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
/// Use WARN(1,...) rather than printk followed by WARN_ON(1) /// // Confidence: High // Copyright: (C) 2012 Julia Lawall, INRIA/LIP6. GPLv2. // Copyright: (C) 2012 Gilles Muller, INRIA/LiP6. GPLv2. // URL: http://coccinelle.lip6.fr/ // Comments: // Options: --no-includes --include-headers virtual patch virtual context virtual org virtual report @bad1@ position p; @@ printk(...); printk@p(...); WARN_ON(1); @r1 depends on context || report || org@ position p != bad1.p; @@ printk@p(...); *WARN_ON(1); @script:python depends on org@ p << r1.p; @@ cocci.print_main("printk + WARN_ON can be just WARN",p) @script:python depends on report@ p << r1.p; @@ msg = "SUGGESTION: printk + WARN_ON can be just WARN" coccilib.report.print_report(p[0],msg) @ok1 depends on patch@ expression list es; position p != bad1.p; @@ -printk@p( +WARN(1, es); -WARN_ON(1); @depends on patch@ expression list ok1.es; @@ if (...) - { WARN(1,es); - } // -------------------------------------------------------------------- @bad2@ position p; @@ printk(...); printk@p(...); WARN_ON_ONCE(1); @r2 depends on context || report || org@ position p != bad1.p; @@ printk@p(...); *WARN_ON_ONCE(1); @script:python depends on org@ p << r2.p; @@ cocci.print_main("printk + WARN_ON_ONCE can be just WARN_ONCE",p) @script:python depends on report@ p << r2.p; @@ msg = "SUGGESTION: printk + WARN_ON_ONCE can be just WARN_ONCE" coccilib.report.print_report(p[0],msg) @ok2 depends on patch@ expression list es; position p != bad2.p; @@ -printk@p( +WARN_ONCE(1, es); -WARN_ON_ONCE(1); @depends on patch@ expression list ok2.es; @@ if (...) - { WARN_ONCE(1,es); - }