diff options
author | Joe Perches <joe@perches.com> | 2012-01-10 18:09:50 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-10 19:30:50 -0500 |
commit | 270c49a088ae58d4b817861bb04bfec63b0966db (patch) | |
tree | 4c08b86b0be13a7d256e1f7a83f87ebca9d20b9d /scripts | |
parent | 96b62067f970ff529c98913311d33f4b57b453dc (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-x | scripts/checkpatch.pl | 7 |
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 | } |