123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- /// 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);
- - }
|