SHA1 should be at least 12 digits long, as suggested
by Stephen:
Https://lkml.org/lkml/2019/9/10/626
Https://lkml.org/lkml/2019/7/10/304

And the fixes tag should also be capitalized (Fixes:),
as suggested by David:
Https://lkml.org/lkml/2019/10/1/1067

Add checks to the above issues.

Signed-off-by: Wen Yang <weny...@linux.alibaba.com>
Cc: Andy Whitcroft <a...@canonical.com> (maintainer:CHECKPATCH)
Cc: Joe Perches <j...@perches.com> (maintainer:CHECKPATCH)
Cc: Stephen Rothwell <s...@canb.auug.org.au>
Cc: "David S. Miller" <da...@davemloft.net>
Cc: linux-kernel@vger.kernel.org (open list)
---
 scripts/checkpatch.pl | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index a85d719df1f4..daefd0c546ff 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2925,7 +2925,7 @@ sub process {
                }
 
 # check for invalid commit id
-               if ($in_commit_log && $line =~ 
/(^fixes:|\bcommit)\s+([0-9a-f]{6,40})\b/i) {
+               if ($in_commit_log && $line =~ 
/(\bcommit)\s+([0-9a-f]{6,40})\b/i) {
                        my $id;
                        my $description;
                        ($id, $description) = git_commit_info($2, undef, undef);
@@ -2935,6 +2935,25 @@ sub process {
                        }
                }
 
+# check for invalid fixes tag
+               if ($in_commit_log && $line =~ 
/(^fixes:)\s+([0-9a-f]{6,40})\b/i) {
+                       my $id;
+                       my $description;
+                       ($id, $description) = git_commit_info($2, undef, undef);
+                       if (!defined($id)) {
+                               WARN("UNKNOWN_COMMIT_ID",
+                                    "Unknown commit id '$2', maybe rebased or 
not pulled?\n" . $herecurr);
+                       }
+                       if ($1 ne "Fixes:") {
+                               WARN("FIXES_TAG_STYLE",
+                                    "The fixes tag should be capitalized 
(Fixes:).\n" . $hereprev);
+                       }
+                       if (length($2) < 12) {
+                               WARN("FIXES_TAG_STYLE",
+                                    "SHA1 should be at least 12 digits 
long.\n" . $hereprev);
+                       }
+               }
+
 # ignore non-hunk lines and lines being removed
                next if (!$hunk_line || $line =~ /^-/);
 
-- 
2.23.0

Reply via email to