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

orplus.cocci (1053B)


      1// SPDX-License-Identifier: GPL-2.0-only
      2/// Check for constants that are added but are used elsewhere as bitmasks
      3/// The results should be checked manually to ensure that the nonzero
      4/// bits in the two constants are actually disjoint.
      5///
      6// Confidence: Moderate
      7// Copyright: (C) 2013 Julia Lawall, INRIA/LIP6.
      8// Copyright: (C) 2013 Gilles Muller, INRIA/LIP6.
      9// URL: http://coccinelle.lip6.fr/
     10// Comments:
     11// Options: --no-includes --include-headers
     12
     13virtual org
     14virtual report
     15virtual context
     16
     17@r@
     18constant c,c1;
     19identifier i,i1;
     20position p;
     21@@
     22
     23(
     24 c1 + c - 1
     25|
     26 c1@i1 +@p c@i
     27)
     28
     29@s@
     30constant r.c, r.c1;
     31identifier i;
     32expression e;
     33@@
     34
     35(
     36e | c@i
     37|
     38e & c@i
     39|
     40e |= c@i
     41|
     42e &= c@i
     43|
     44e | c1@i
     45|
     46e & c1@i
     47|
     48e |= c1@i
     49|
     50e &= c1@i
     51)
     52
     53@depends on s@
     54position r.p;
     55constant c1,c2;
     56@@
     57
     58* c1 +@p c2
     59
     60@script:python depends on s && org@
     61p << r.p;
     62@@
     63
     64cocci.print_main("sum of probable bitmasks, consider |",p)
     65
     66@script:python depends on s && report@
     67p << r.p;
     68@@
     69
     70msg = "WARNING: sum of probable bitmasks, consider |"
     71coccilib.report.print_report(p[0],msg)