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

platform_get_irq.cocci (1248B)


      1// SPDX-License-Identifier: GPL-2.0
      2/// Remove dev_err() messages after platform_get_irq*() failures
      3//
      4// Confidence: Medium
      5// Options: --include-headers
      6
      7virtual patch
      8virtual context
      9virtual org
     10virtual report
     11
     12@depends on context@
     13expression ret;
     14struct platform_device *E;
     15@@
     16
     17ret =
     18(
     19platform_get_irq
     20|
     21platform_get_irq_byname
     22)(E, ...);
     23
     24if ( \( ret < 0 \| ret <= 0 \) )
     25{
     26(
     27if (ret != -EPROBE_DEFER)
     28{ ...
     29*dev_err(...);
     30... }
     31|
     32...
     33*dev_err(...);
     34)
     35...
     36}
     37
     38@depends on patch@
     39expression ret;
     40struct platform_device *E;
     41@@
     42
     43ret =
     44(
     45platform_get_irq
     46|
     47platform_get_irq_byname
     48)(E, ...);
     49
     50if ( \( ret < 0 \| ret <= 0 \) )
     51{
     52(
     53-if (ret != -EPROBE_DEFER)
     54-{ ...
     55-dev_err(...);
     56-... }
     57|
     58...
     59-dev_err(...);
     60)
     61...
     62}
     63
     64@r depends on org || report@
     65position p1;
     66expression ret;
     67struct platform_device *E;
     68@@
     69
     70ret =
     71(
     72platform_get_irq
     73|
     74platform_get_irq_byname
     75)(E, ...);
     76
     77if ( \( ret < 0 \| ret <= 0 \) )
     78{
     79(
     80if (ret != -EPROBE_DEFER)
     81{ ...
     82dev_err@p1(...);
     83... }
     84|
     85...
     86dev_err@p1(...);
     87)
     88...
     89}
     90
     91@script:python depends on org@
     92p1 << r.p1;
     93@@
     94
     95cocci.print_main(p1)
     96
     97@script:python depends on report@
     98p1 << r.p1;
     99@@
    100
    101msg = "line %s is redundant because platform_get_irq() already prints an error" % (p1[0].line)
    102coccilib.report.print_report(p1[0],msg)