Production kernels will scream if trace_printk() is used (thanks to
Steve's banner). Rather than waiting for that to happen, let's check
patches beforehand.

Signed-off-by: Juri Lelli <[email protected]>
Cc: Andy Whitcroft <[email protected]>
Cc: Joe Perches <[email protected]>
Cc: Steven Rostedt <[email protected]>
Cc: Juri Lelli <[email protected]>
Cc: [email protected]
---
Changes since v1:

 o added an exception when the code is in kernel/trace/, as suggested
   by Steve and Joe;

 scripts/checkpatch.pl | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index d124359..c36b2b7 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3257,6 +3257,13 @@ sub process {
                             "Prefer printk_ratelimited or 
pr_<level>_ratelimited to printk_ratelimit\n" . $herecurr);
                }
 
+# check for uses of trace_printk
+               if ($realfile !~ m@kernel/trace/@ &&
+                   $line =~ /\btrace_printk\s*\(/) {
+                       ERROR("TRACE_PRINTK",
+                             "Never use trace_printk in production code!\n" . 
$herecurr);
+               }
+
 # printk should use KERN_* levels.  Note that follow on printk's on the
 # same line do not need a level, so we use the current block context
 # to try and find and validate the current printk.  In summary the current
-- 
2.3.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to