2020-11-08 13:45:58

by Aditya Srivastava

[permalink] [raw]
Subject: [PATCH] checkpatch: add fix for BAD_SIGN_OFF

Currently, checkpatch warns us if the author of the commit signs-off
as co-developed-by.
E.g. for commit 6e88559470f5 ("Documentation: Add section about
CPU vulnerabilities for Spectre") we get:

WARNING: Co-developed-by: should not be used to attribute nominal
patch author 'Tim Chen <[email protected]>'
Co-developed-by: Tim Chen <[email protected]>

Provide a simple fix by removing the co-developed-by line from the
commit message

A quick evaluation on v4.13..v5.8 showed that this fix was getting
triggered 6 times.
A quick manual check found out that all fixes were correct in those
cases.

Signed-off-by: Aditya Srivastava <[email protected]>
---
scripts/checkpatch.pl | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 58095d9d8f34..1030d4fc2abf 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2827,8 +2827,11 @@ sub process {
# Check Co-developed-by: immediately followed by Signed-off-by: with same name and email
if ($sign_off =~ /^co-developed-by:$/i) {
if ($email eq $author) {
- WARN("BAD_SIGN_OFF",
- "Co-developed-by: should not be used to attribute nominal patch author '$author'\n" . "$here\n" . $rawline);
+ if (WARN("BAD_SIGN_OFF",
+ "Co-developed-by: should not be used to attribute nominal patch author '$author'\n" . "$here\n" . $rawline) &&
+ $fix) {
+ fix_delete_line($fixlinenr, $rawline);
+ }
}
if (!defined $lines[$linenr]) {
WARN("BAD_SIGN_OFF",
--
2.17.1


2020-11-08 20:06:31

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH] checkpatch: add fix for BAD_SIGN_OFF

On Sun, 2020-11-08 at 19:13 +0530, Aditya Srivastava wrote:
> Currently, checkpatch warns us if the author of the commit signs-off
> as co-developed-by.
[]
> A quick manual check found out that all fixes were correct in those
> cases.
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -2827,8 +2827,11 @@ sub process {
> ?# Check Co-developed-by: immediately followed by Signed-off-by: with same name and email
> ? if ($sign_off =~ /^co-developed-by:$/i) {
> ? if ($email eq $author) {
> - WARN("BAD_SIGN_OFF",
> - "Co-developed-by: should not be used to attribute nominal patch author '$author'\n" . "$here\n" . $rawline);
> + if (WARN("BAD_SIGN_OFF",
> + "Co-developed-by: should not be used to attribute nominal patch author '$author'\n" . "$here\n" . $rawline) &&
> + $fix) {
> + fix_delete_line($fixlinenr, $rawline);
> + }
> ? }
> ? if (!defined $lines[$linenr]) {
> ? WARN("BAD_SIGN_OFF",

Looks OK to me.

Another option might be to add a Signed-off-by: line derived from
any "From:" line when:

if ($is_patch && $has_commit_log && $chk_signoff) {
if ($signoff == 0) {
ERROR("MISSING_SIGN_OFF",
"Missing Signed-off-by: line(s)\n");

etc...

2020-11-09 07:26:05

by Aditya Srivastava

[permalink] [raw]
Subject: Re: [PATCH] checkpatch: add fix for BAD_SIGN_OFF

On 9/11/20 1:27 am, Joe Perches wrote:
> On Sun, 2020-11-08 at 19:13 +0530, Aditya Srivastava wrote:
>> Currently, checkpatch warns us if the author of the commit signs-off
>> as co-developed-by.
> []
>> A quick manual check found out that all fixes were correct in those
>> cases.
> []
>> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
>> @@ -2827,8 +2827,11 @@ sub process {
>>  # Check Co-developed-by: immediately followed by Signed-off-by: with same name and email
>>   if ($sign_off =~ /^co-developed-by:$/i) {
>>   if ($email eq $author) {
>> - WARN("BAD_SIGN_OFF",
>> - "Co-developed-by: should not be used to attribute nominal patch author '$author'\n" . "$here\n" . $rawline);
>> + if (WARN("BAD_SIGN_OFF",
>> + "Co-developed-by: should not be used to attribute nominal patch author '$author'\n" . "$here\n" . $rawline) &&
>> + $fix) {
>> + fix_delete_line($fixlinenr, $rawline);
>> + }
>>   }
>>   if (!defined $lines[$linenr]) {
>>   WARN("BAD_SIGN_OFF",
>
> Looks OK to me.
>
> Another option might be to add a Signed-off-by: line derived from
> any "From:" line when:
>
> if ($is_patch && $has_commit_log && $chk_signoff) {
> if ($signoff == 0) {
> ERROR("MISSING_SIGN_OFF",
> "Missing Signed-off-by: line(s)\n");
>
> etc...
>

Yes, I just noticed. Thanks for the suggestion. Will do.

Thanks
Aditya

2020-12-04 10:10:14

by Aditya Srivastava

[permalink] [raw]
Subject: Re: [PATCH] checkpatch: add fix for BAD_SIGN_OFF

On 9/11/20 1:27 am, Joe Perches wrote:
> On Sun, 2020-11-08 at 19:13 +0530, Aditya Srivastava wrote:
>> Currently, checkpatch warns us if the author of the commit signs-off
>> as co-developed-by.
> []
>> A quick manual check found out that all fixes were correct in those
>> cases.
> []
>> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
>> @@ -2827,8 +2827,11 @@ sub process {
>>  # Check Co-developed-by: immediately followed by Signed-off-by: with same name and email
>>   if ($sign_off =~ /^co-developed-by:$/i) {
>>   if ($email eq $author) {
>> - WARN("BAD_SIGN_OFF",
>> - "Co-developed-by: should not be used to attribute nominal patch author '$author'\n" . "$here\n" . $rawline);
>> + if (WARN("BAD_SIGN_OFF",
>> + "Co-developed-by: should not be used to attribute nominal patch author '$author'\n" . "$here\n" . $rawline) &&
>> + $fix) {
>> + fix_delete_line($fixlinenr, $rawline);
>> + }
>>   }
>>   if (!defined $lines[$linenr]) {
>>   WARN("BAD_SIGN_OFF",
>
> Looks OK to me.
>
> Another option might be to add a Signed-off-by: line derived from
> any "From:" line when:
>
> if ($is_patch && $has_commit_log && $chk_signoff) {
> if ($signoff == 0) {
> ERROR("MISSING_SIGN_OFF",
> "Missing Signed-off-by: line(s)\n");
>
> etc...
>

Hi Joe

You probably forgot to Ack this patch.

Thanks
Aditya