Ensure FMODE_NONOTIFY is not set by userspace
[pandora-kernel.git] / scripts / coccinelle / api / alloc / drop_kmalloc_cast.cocci
1 ///
2 /// Casting (void *) value returned by kmalloc is useless
3 /// as mentioned in Documentation/CodingStyle, Chap 14.
4 ///
5 // Confidence: High
6 // Copyright: 2009,2010 Nicolas Palix, DIKU.  GPLv2.
7 // URL: http://coccinelle.lip6.fr/
8 // Options: -no_includes -include_headers
9 //
10 // Keywords: kmalloc, kzalloc, kcalloc
11 // Version min: < 2.6.12 kmalloc
12 // Version min: < 2.6.12 kcalloc
13 // Version min:   2.6.14 kzalloc
14 //
15
16 virtual context
17 virtual patch
18 virtual org
19 virtual report
20
21 //----------------------------------------------------------
22 //  For context mode
23 //----------------------------------------------------------
24
25 @depends on context@
26 type T;
27 @@
28
29 * (T *)
30   \(kmalloc\|kzalloc\|kcalloc\)(...)
31
32 //----------------------------------------------------------
33 //  For patch mode
34 //----------------------------------------------------------
35
36 @depends on patch@
37 type T;
38 @@
39
40 - (T *)
41   \(kmalloc\|kzalloc\|kcalloc\)(...)
42
43 //----------------------------------------------------------
44 //  For org and report mode
45 //----------------------------------------------------------
46
47 @r depends on org || report@
48 type T;
49 position p;
50 @@
51
52  (T@p *)\(kmalloc\|kzalloc\|kcalloc\)(...)
53
54 @script:python depends on org@
55 p << r.p;
56 t << r.T;
57 @@
58
59 coccilib.org.print_safe_todo(p[0], t)
60
61 @script:python depends on report@
62 p << r.p;
63 t << r.T;
64 @@
65
66 msg="WARNING: casting value returned by k[cmz]alloc to (%s *) is useless." % (t)
67 coccilib.report.print_report(p[0], msg)