aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorJoe Perches <joe@perches.com>2012-01-10 18:09:50 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-01-10 19:30:50 -0500
commit270c49a088ae58d4b817861bb04bfec63b0966db (patch)
tree4c08b86b0be13a7d256e1f7a83f87ebca9d20b9d /scripts
parent96b62067f970ff529c98913311d33f4b57b453dc (diff)
checkpatch: update signature "might be better as" warning
email header lines can look like signature tags. It's valid to have multiple email recipients on a single line but not valid to have multiple signatures on a single line. Validate signatures only when not in the email headers. Clear the $in_commit_log flag when the patch filename appears. Add '-' to the valid chars in a message header for headers like "Message-Id:" and "In-Reply-To:". Signed-off-by: Joe Perches <joe@perches.com> Reported-by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/checkpatch.pl7
1 files changed, 5 insertions, 2 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 8fda3b3f7be8..885e3b43d64a 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -1504,9 +1504,11 @@ sub process {
1504 if ($line =~ /^diff --git.*?(\S+)$/) { 1504 if ($line =~ /^diff --git.*?(\S+)$/) {
1505 $realfile = $1; 1505 $realfile = $1;
1506 $realfile =~ s@^([^/]*)/@@; 1506 $realfile =~ s@^([^/]*)/@@;
1507 $in_commit_log = 0;
1507 } elsif ($line =~ /^\+\+\+\s+(\S+)/) { 1508 } elsif ($line =~ /^\+\+\+\s+(\S+)/) {
1508 $realfile = $1; 1509 $realfile = $1;
1509 $realfile =~ s@^([^/]*)/@@; 1510 $realfile =~ s@^([^/]*)/@@;
1511 $in_commit_log = 0;
1510 1512
1511 $p1_prefix = $1; 1513 $p1_prefix = $1;
1512 if (!$file && $tree && $p1_prefix ne '' && 1514 if (!$file && $tree && $p1_prefix ne '' &&
@@ -1546,7 +1548,8 @@ sub process {
1546 } 1548 }
1547 1549
1548# Check signature styles 1550# Check signature styles
1549 if ($line =~ /^(\s*)($signature_tags)(\s*)(.*)/) { 1551 if (!$in_header_lines &&
1552 $line =~ /^(\s*)($signature_tags)(\s*)(.*)/) {
1550 my $space_before = $1; 1553 my $space_before = $1;
1551 my $sign_off = $2; 1554 my $sign_off = $2;
1552 my $space_after = $3; 1555 my $space_after = $3;
@@ -1623,7 +1626,7 @@ sub process {
1623# Check if it's the start of a commit log 1626# Check if it's the start of a commit log
1624# (not a header line and we haven't seen the patch filename) 1627# (not a header line and we haven't seen the patch filename)
1625 if ($in_header_lines && $realfile =~ /^$/ && 1628 if ($in_header_lines && $realfile =~ /^$/ &&
1626 $rawline !~ /^(commit\b|from\b|\w+:).+$/i) { 1629 $rawline !~ /^(commit\b|from\b|[\w-]+:).+$/i) {
1627 $in_header_lines = 0; 1630 $in_header_lines = 0;
1628 $in_commit_log = 1; 1631 $in_commit_log = 1;
1629 } 1632 }