~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/scripts/coccinelle/api/resource_size.cocci

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0-only
  2 ///
  3 /// Use resource_size function on resource object
  4 /// instead of explicit computation.
  5 ///
  6 //  Confidence: High
  7 //  Copyright: (C) 2009, 2010 Nicolas Palix, DIKU.
  8 //  Copyright: (C) 2009, 2010 Julia Lawall, DIKU.
  9 //  Copyright: (C) 2009, 2010 Gilles Muller, INRIA/LiP6.
 10 //  URL: https://coccinelle.gitlabpages.inria.fr/website
 11 //  Options:
 12 //
 13 //  Keywords: resource_size
 14 //  Version min: 2.6.27 resource_size
 15 //
 16 
 17 virtual context
 18 virtual patch
 19 virtual org
 20 virtual report
 21 
 22 //----------------------------------------------------------
 23 //  For context mode
 24 //----------------------------------------------------------
 25 
 26 @r_context depends on context && !patch && !org@
 27 struct resource *res;
 28 @@
 29 
 30 * (res->end - res->start) + 1
 31 
 32 //----------------------------------------------------------
 33 //  For patch mode
 34 //----------------------------------------------------------
 35 
 36 @r_patch depends on !context && patch && !org@
 37 struct resource *res;
 38 @@
 39 
 40 - (res->end - res->start) + 1
 41 + resource_size(res)
 42 
 43 //----------------------------------------------------------
 44 //  For org mode
 45 //----------------------------------------------------------
 46 
 47 
 48 @r_org depends on !context && !patch && (org || report)@
 49 struct resource *res;
 50 position p;
 51 @@
 52 
 53  (res->end@p - res->start) + 1
 54 
 55 @rbad_org depends on !context && !patch && (org || report)@
 56 struct resource *res;
 57 position p != r_org.p;
 58 @@
 59 
 60  res->end@p - res->start
 61 
 62 @script:python depends on org@
 63 p << r_org.p;
 64 x << r_org.res;
 65 @@
 66 
 67 msg="ERROR with %s" % (x)
 68 msg_safe=msg.replace("[","@(").replace("]",")")
 69 coccilib.org.print_todo(p[0], msg_safe)
 70 
 71 @script:python depends on report@
 72 p << r_org.p;
 73 x << r_org.res;
 74 @@
 75 
 76 msg="ERROR: Missing resource_size with %s" % (x)
 77 coccilib.report.print_report(p[0], msg)
 78 
 79 @script:python depends on org@
 80 p << rbad_org.p;
 81 x << rbad_org.res;
 82 @@
 83 
 84 msg="WARNING with %s" % (x)
 85 msg_safe=msg.replace("[","@(").replace("]",")")
 86 coccilib.org.print_todo(p[0], msg_safe)
 87 
 88 @script:python depends on report@
 89 p << rbad_org.p;
 90 x << rbad_org.res;
 91 @@
 92 
 93 msg="WARNING: Suspicious code. resource_size is maybe missing with %s" % (x)
 94 coccilib.report.print_report(p[0], msg)

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php