forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
1.7 KiB
110 lines
1.7 KiB
// SPDX-License-Identifier: GPL-2.0-only |
|
/// Use WARN(1,...) rather than printk followed by WARN_ON(1) |
|
/// |
|
// Confidence: High |
|
// Copyright: (C) 2012 Julia Lawall, INRIA/LIP6. |
|
// Copyright: (C) 2012 Gilles Muller, INRIA/LiP6. |
|
// URL: https://coccinelle.gitlabpages.inria.fr/website |
|
// Comments: |
|
// Options: --no-includes --include-headers |
|
|
|
virtual patch |
|
virtual context |
|
virtual org |
|
virtual report |
|
|
|
@bad1@ |
|
position p; |
|
@@ |
|
|
|
printk(...); |
|
printk@p(...); |
|
WARN_ON(1); |
|
|
|
@r1 depends on context || report || org@ |
|
position p != bad1.p; |
|
@@ |
|
|
|
printk@p(...); |
|
*WARN_ON(1); |
|
|
|
@script:python depends on org@ |
|
p << r1.p; |
|
@@ |
|
|
|
cocci.print_main("printk + WARN_ON can be just WARN",p) |
|
|
|
@script:python depends on report@ |
|
p << r1.p; |
|
@@ |
|
|
|
msg = "SUGGESTION: printk + WARN_ON can be just WARN" |
|
coccilib.report.print_report(p[0],msg) |
|
|
|
@ok1 depends on patch@ |
|
expression list es; |
|
position p != bad1.p; |
|
@@ |
|
|
|
-printk@p( |
|
+WARN(1, |
|
es); |
|
-WARN_ON(1); |
|
|
|
@depends on patch@ |
|
expression list ok1.es; |
|
@@ |
|
|
|
if (...) |
|
- { |
|
WARN(1,es); |
|
- } |
|
|
|
// -------------------------------------------------------------------- |
|
|
|
@bad2@ |
|
position p; |
|
@@ |
|
|
|
printk(...); |
|
printk@p(...); |
|
WARN_ON_ONCE(1); |
|
|
|
@r2 depends on context || report || org@ |
|
position p != bad1.p; |
|
@@ |
|
|
|
printk@p(...); |
|
*WARN_ON_ONCE(1); |
|
|
|
@script:python depends on org@ |
|
p << r2.p; |
|
@@ |
|
|
|
cocci.print_main("printk + WARN_ON_ONCE can be just WARN_ONCE",p) |
|
|
|
@script:python depends on report@ |
|
p << r2.p; |
|
@@ |
|
|
|
msg = "SUGGESTION: printk + WARN_ON_ONCE can be just WARN_ONCE" |
|
coccilib.report.print_report(p[0],msg) |
|
|
|
@ok2 depends on patch@ |
|
expression list es; |
|
position p != bad2.p; |
|
@@ |
|
|
|
-printk@p( |
|
+WARN_ONCE(1, |
|
es); |
|
-WARN_ON_ONCE(1); |
|
|
|
@depends on patch@ |
|
expression list ok2.es; |
|
@@ |
|
|
|
if (...) |
|
- { |
|
WARN_ONCE(1,es); |
|
- }
|
|
|