[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201110190603.2193-1-yashsri421@gmail.com>
Date: Wed, 11 Nov 2020 00:36:03 +0530
From: Aditya Srivastava <yashsri421@...il.com>
To: joe@...ches.com
Cc: yashsri421@...il.com, lukas.bulwahn@...il.com,
linux-kernel-mentees@...ts.linuxfoundation.org,
linux-kernel@...r.kernel.org
Subject: [PATCH] checkpatch: add fix option for MISSING_SIGN_OFF
Currently checkpatch warns us if there is no 'Signed-off-by' line
for the patch.
E.g., running checkpatch on commit 9ac060a708e0 ("leaking_addresses:
Completely remove --version flag") reports this error:
ERROR: Missing Signed-off-by: line(s)
Provide a fix by adding a Signed-off-by line corresponding to the author
of the patch before the patch separator line. Also avoid this error for
the commits where some typo is present in the sign off.
E.g. for commit 8cde5d5f7361 ("bus: ti-sysc: Detect omap4 type timers
for quirk") we get missing sign off as well as bad sign off for:
Siganed-off-by: Tony Lindgren <tony@...mide.com>
Here it is probably best to give BAD_SIGN_OFF warning for Non-standard
signature and avoid MISSING_SIGN_OFF
Suggested-by: Joe Perches <joe@...ches.com>
Signed-off-by: Aditya Srivastava <yashsri421@...il.com>
---
scripts/checkpatch.pl | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index cb46288127ac..2deffd0c091b 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2404,6 +2404,8 @@ sub process {
my $last_blank_line = 0;
my $last_coalesced_string_linenr = -1;
+ my $patch_separator_linenr = 0;
+ my $non_standard_signature = 0;
our @report = ();
our $cnt_lines = 0;
@@ -2755,6 +2757,10 @@ sub process {
if ($line =~ /^---$/) {
$has_patch_separator = 1;
$in_commit_log = 0;
+ # to add missing sign off line before diff(s)
+ if($patch_separator_linenr == 0) {
+ $patch_separator_linenr = $linenr;
+ }
}
# Check if MAINTAINERS is being updated. If so, there's probably no need to
@@ -2775,6 +2781,9 @@ sub process {
if ($sign_off !~ /$signature_tags/) {
WARN("BAD_SIGN_OFF",
"Non-standard signature: $sign_off\n" . $herecurr);
+
+ # to avoid missing_sign_off error as it most probably is just a typo
+ $non_standard_signature = 1;
}
if (defined $space_before && $space_before ne "") {
if (WARN("BAD_SIGN_OFF",
@@ -7118,9 +7127,12 @@ sub process {
"Does not appear to be a unified-diff format patch\n");
}
if ($is_patch && $has_commit_log && $chk_signoff) {
- if ($signoff == 0) {
- ERROR("MISSING_SIGN_OFF",
- "Missing Signed-off-by: line(s)\n");
+ if ($signoff == 0 && !$non_standard_signature) {
+ if (ERROR("MISSING_SIGN_OFF",
+ "Missing Signed-off-by: line(s)\n") &&
+ $fix) {
+ fix_insert_line($patch_separator_linenr - 1, "Signed-off-by: $author");
+ }
} elsif ($authorsignoff != 1) {
# authorsignoff values:
# 0 -> missing sign off
--
2.17.1
Powered by blists - more mailing lists