Blame view

kernel/linux-imx6_3.14.28/scripts/coccinelle/misc/cstptr.cocci 827 Bytes
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
  /// PTR_ERR should be applied before its argument is reassigned, typically
  /// to NULL
  ///
  // Confidence: High
  // Copyright: (C) 2012 Julia Lawall, INRIA/LIP6.  GPLv2.
  // Copyright: (C) 2012 Gilles Muller, INRIA/LiP6.  GPLv2.
  // URL: http://coccinelle.lip6.fr/
  // Comments:
  // Options: --no-includes --include-headers
  
  virtual org
  virtual report
  virtual context
  
  @r exists@
  expression e,e1;
  constant c;
  position p1,p2;
  @@
  
  *e@p1 = c
  ... when != e = e1
      when != &e
      when != true IS_ERR(e)
  *PTR_ERR@p2(e)
  
  @script:python depends on org@
  p1 << r.p1;
  p2 << r.p2;
  @@
  
  cocci.print_main("PTR_ERR",p2)
  cocci.print_secs("assignment",p1)
  
  @script:python depends on report@
  p1 << r.p1;
  p2 << r.p2;
  @@
  
  msg = "ERROR: PTR_ERR applied after initialization to constant on line %s" % (p1[0].line)
  coccilib.report.print_report(p2[0],msg)