Loading...
1/// Use WARN(1,...) rather than printk followed by WARN_ON(1)
2///
3// Confidence: High
4// Copyright: (C) 2012 Julia Lawall, INRIA/LIP6. GPLv2.
5// Copyright: (C) 2012 Gilles Muller, INRIA/LiP6. GPLv2.
6// URL: http://coccinelle.lip6.fr/
7// Comments:
8// Options: --no-includes --include-headers
9
10virtual patch
11virtual context
12virtual org
13virtual report
14
15@bad1@
16position p;
17@@
18
19printk(...);
20printk@p(...);
21WARN_ON(1);
22
23@r1 depends on context || report || org@
24position p != bad1.p;
25@@
26
27 printk@p(...);
28*WARN_ON(1);
29
30@script:python depends on org@
31p << r1.p;
32@@
33
34cocci.print_main("printk + WARN_ON can be just WARN",p)
35
36@script:python depends on report@
37p << r1.p;
38@@
39
40msg = "SUGGESTION: printk + WARN_ON can be just WARN"
41coccilib.report.print_report(p[0],msg)
42
43@ok1 depends on patch@
44expression list es;
45position p != bad1.p;
46@@
47
48-printk@p(
49+WARN(1,
50 es);
51-WARN_ON(1);
52
53@depends on patch@
54expression list ok1.es;
55@@
56
57if (...)
58- {
59 WARN(1,es);
60- }
61
62// --------------------------------------------------------------------
63
64@bad2@
65position p;
66@@
67
68printk(...);
69printk@p(...);
70WARN_ON_ONCE(1);
71
72@r2 depends on context || report || org@
73position p != bad1.p;
74@@
75
76 printk@p(...);
77*WARN_ON_ONCE(1);
78
79@script:python depends on org@
80p << r2.p;
81@@
82
83cocci.print_main("printk + WARN_ON_ONCE can be just WARN_ONCE",p)
84
85@script:python depends on report@
86p << r2.p;
87@@
88
89msg = "SUGGESTION: printk + WARN_ON_ONCE can be just WARN_ONCE"
90coccilib.report.print_report(p[0],msg)
91
92@ok2 depends on patch@
93expression list es;
94position p != bad2.p;
95@@
96
97-printk@p(
98+WARN_ONCE(1,
99 es);
100-WARN_ON_ONCE(1);
101
102@depends on patch@
103expression list ok2.es;
104@@
105
106if (...)
107- {
108 WARN_ONCE(1,es);
109- }
1// SPDX-License-Identifier: GPL-2.0-only
2/// Use WARN(1,...) rather than printk followed by WARN_ON(1)
3///
4// Confidence: High
5// Copyright: (C) 2012 Julia Lawall, INRIA/LIP6.
6// Copyright: (C) 2012 Gilles Muller, INRIA/LiP6.
7// URL: http://coccinelle.lip6.fr/
8// Comments:
9// Options: --no-includes --include-headers
10
11virtual patch
12virtual context
13virtual org
14virtual report
15
16@bad1@
17position p;
18@@
19
20printk(...);
21printk@p(...);
22WARN_ON(1);
23
24@r1 depends on context || report || org@
25position p != bad1.p;
26@@
27
28 printk@p(...);
29*WARN_ON(1);
30
31@script:python depends on org@
32p << r1.p;
33@@
34
35cocci.print_main("printk + WARN_ON can be just WARN",p)
36
37@script:python depends on report@
38p << r1.p;
39@@
40
41msg = "SUGGESTION: printk + WARN_ON can be just WARN"
42coccilib.report.print_report(p[0],msg)
43
44@ok1 depends on patch@
45expression list es;
46position p != bad1.p;
47@@
48
49-printk@p(
50+WARN(1,
51 es);
52-WARN_ON(1);
53
54@depends on patch@
55expression list ok1.es;
56@@
57
58if (...)
59- {
60 WARN(1,es);
61- }
62
63// --------------------------------------------------------------------
64
65@bad2@
66position p;
67@@
68
69printk(...);
70printk@p(...);
71WARN_ON_ONCE(1);
72
73@r2 depends on context || report || org@
74position p != bad1.p;
75@@
76
77 printk@p(...);
78*WARN_ON_ONCE(1);
79
80@script:python depends on org@
81p << r2.p;
82@@
83
84cocci.print_main("printk + WARN_ON_ONCE can be just WARN_ONCE",p)
85
86@script:python depends on report@
87p << r2.p;
88@@
89
90msg = "SUGGESTION: printk + WARN_ON_ONCE can be just WARN_ONCE"
91coccilib.report.print_report(p[0],msg)
92
93@ok2 depends on patch@
94expression list es;
95position p != bad2.p;
96@@
97
98-printk@p(
99+WARN_ONCE(1,
100 es);
101-WARN_ON_ONCE(1);
102
103@depends on patch@
104expression list ok2.es;
105@@
106
107if (...)
108- {
109 WARN_ONCE(1,es);
110- }