Using weak can have unintended link defects.
Emit an error on its use.

Signed-off-by: Joe Perches <[email protected]>
---
 scripts/checkpatch.pl | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 696254e..692fdb6 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -4671,6 +4671,14 @@ sub process {
                        }
                }
 
+# Check for __attribute__ weak, or __weak (may have link issues)
+               if ($realfile !~ m@\binclude/uapi/@ &&
+                   ($line =~ /\b__attribute__\s*\(\s*\(.*\bweak\b/ ||
+                    $line =~ \b__weak\b/)) {
+                       ERROR("AVOID_WEAK",
+                             "Using weak can have unintended link defects" . 
$herecurr);
+               }
+
 # check for sizeof(&)
                if ($line =~ /\bsizeof\s*\(\s*\&/) {
                        WARN("SIZEOF_ADDRESS",
-- 
2.1.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