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

err_cast.cocci (1114B)


      1// SPDX-License-Identifier: GPL-2.0-only
      2///
      3/// Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...))
      4///
      5// Confidence: High
      6// Copyright: (C) 2009, 2010 Nicolas Palix, DIKU.
      7// Copyright: (C) 2009, 2010 Julia Lawall, DIKU.
      8// Copyright: (C) 2009, 2010 Gilles Muller, INRIA/LiP6.
      9// URL: http://coccinelle.lip6.fr/
     10// Options:
     11//
     12// Keywords: ERR_PTR, PTR_ERR, ERR_CAST
     13// Version min: 2.6.25
     14//
     15
     16virtual context
     17virtual patch
     18virtual org
     19virtual report
     20
     21
     22@ depends on context && !patch && !org && !report@
     23expression x;
     24@@
     25
     26* ERR_PTR(PTR_ERR(x))
     27
     28@ depends on !context && patch && !org && !report @
     29expression x;
     30@@
     31
     32- ERR_PTR(PTR_ERR(x))
     33+ ERR_CAST(x)
     34
     35@r depends on !context && !patch && (org || report)@
     36expression x;
     37position p;
     38@@
     39
     40 ERR_PTR@p(PTR_ERR(x))
     41
     42@script:python depends on org@
     43p << r.p;
     44x << r.x;
     45@@
     46
     47msg="WARNING ERR_CAST can be used with %s" % (x)
     48msg_safe=msg.replace("[","@(").replace("]",")")
     49coccilib.org.print_todo(p[0], msg_safe)
     50
     51@script:python depends on report@
     52p << r.p;
     53x << r.x;
     54@@
     55
     56msg="WARNING: ERR_CAST can be used with %s" % (x)
     57coccilib.report.print_report(p[0], msg)