lkml.org 
[lkml]   [2020]   [Nov]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] checkpatch: add fix option for MISSING_SIGN_OFF
Date
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@atomide.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@perches.com>
Signed-off-by: Aditya Srivastava <yashsri421@gmail.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
\
 
 \ /
  Last update: 2020-11-10 20:07    [W:0.048 / U:0.048 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site