In most cases people use lookup_symbol_name() to resolve a kernel symbol
and then print it via printk().

In such cases using the %ps, %pS, %pSR or %pB printk formats are easier
to use and thus should be preferred.

Signed-off-by: Helge Deller <del...@gmx.de>

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index fab38b493cef..0d5515a3d875 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -4317,6 +4317,12 @@ sub process {
                             "LINUX_VERSION_CODE should be avoided, code should 
be for the version to which it is merged\n" . $herecurr);
                }

+# avoid lookup_symbol_name()
+               if ($line =~ /\blookup_symbol_name\b/) {
+                       WARN("PREFER_PRINTK_FORMAT",
+                            "If possible prefer %ps or %pS printk format 
string to print symbol name instead of using lookup_symbol_name()\n" . 
$herecurr);
+               }
+
 # check for uses of printk_ratelimit
                if ($line =~ /\bprintk_ratelimit\s*\(/) {
                        WARN("PRINTK_RATELIMITED",

Reply via email to