cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

warn.cocci (1686B)


      1// SPDX-License-Identifier: GPL-2.0-only
      2/// Use WARN(1,...) rather than printk followed by WARN_ON(1)
      3///
      4// Confidence: High
      5// Copyright: (C) 2012 Julia Lawall, INRIA/LIP6.
      6// Copyright: (C) 2012 Gilles Muller, INRIA/LiP6.
      7// URL: http://coccinelle.lip6.fr/
      8// Comments:
      9// Options: --no-includes --include-headers
     10
     11virtual patch
     12virtual context
     13virtual org
     14virtual report
     15
     16@bad1@
     17position p;
     18@@
     19
     20printk(...);
     21printk@p(...);
     22WARN_ON(1);
     23
     24@r1 depends on context || report || org@
     25position p != bad1.p;
     26@@
     27
     28 printk@p(...);
     29*WARN_ON(1);
     30
     31@script:python depends on org@
     32p << r1.p;
     33@@
     34
     35cocci.print_main("printk + WARN_ON can be just WARN",p)
     36
     37@script:python depends on report@
     38p << r1.p;
     39@@
     40
     41msg = "SUGGESTION: printk + WARN_ON can be just WARN"
     42coccilib.report.print_report(p[0],msg)
     43
     44@ok1 depends on patch@
     45expression list es;
     46position p != bad1.p;
     47@@
     48
     49-printk@p(
     50+WARN(1,
     51  es);
     52-WARN_ON(1);
     53
     54@depends on patch@
     55expression list ok1.es;
     56@@
     57
     58if (...)
     59- {
     60  WARN(1,es);
     61- }
     62
     63// --------------------------------------------------------------------
     64
     65@bad2@
     66position p;
     67@@
     68
     69printk(...);
     70printk@p(...);
     71WARN_ON_ONCE(1);
     72
     73@r2 depends on context || report || org@
     74position p != bad1.p;
     75@@
     76
     77 printk@p(...);
     78*WARN_ON_ONCE(1);
     79
     80@script:python depends on org@
     81p << r2.p;
     82@@
     83
     84cocci.print_main("printk + WARN_ON_ONCE can be just WARN_ONCE",p)
     85
     86@script:python depends on report@
     87p << r2.p;
     88@@
     89
     90msg = "SUGGESTION: printk + WARN_ON_ONCE can be just WARN_ONCE"
     91coccilib.report.print_report(p[0],msg)
     92
     93@ok2 depends on patch@
     94expression list es;
     95position p != bad2.p;
     96@@
     97
     98-printk@p(
     99+WARN_ONCE(1,
    100  es);
    101-WARN_ON_ONCE(1);
    102
    103@depends on patch@
    104expression list ok2.es;
    105@@
    106
    107if (...)
    108- {
    109  WARN_ONCE(1,es);
    110- }