[PATCH] scripts/checkpatch: Fix multiple Reported-by: false positive warning

Advait Dhamorikar posted 1 patch 1 month, 2 weeks ago
There is a newer version of this series
scripts/checkpatch.pl | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
[PATCH] scripts/checkpatch: Fix multiple Reported-by: false positive warning
Posted by Advait Dhamorikar 1 month, 2 weeks ago
If multiple Reported-by: tags are used, the
checkpatch script throws a false positive warning
even when there is a Closes tag following the two
tags. This fix checks if the closes tag is present
after multiple Reported-by tags.

Here is an example of the same:
> WARNING: Reported-by: should be immediately followed by Closes: with a
> URL to the report
> #10:
> Reported-by: Kernel test bot <ppppqqqq@ymail.com>
> Reported-by: Some Person <xxxyyy@gmail.com>

> total: 0 errors, 1 warnings, 0 checks, 8 lines checked

Signed-off-by: Advait Dhamorikar <advaitdhamorikar@gmail.com>
---
 scripts/checkpatch.pl | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 4427572b2477..c74519f02180 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3188,10 +3188,13 @@ sub process {
 			if ($sign_off =~ /^reported(?:|-and-tested)-by:$/i) {
 				if (!defined $lines[$linenr]) {
 					WARN("BAD_REPORTED_BY_LINK",
-					     "Reported-by: should be immediately followed by Closes: with a URL to the report\n" . $herecurr . "\n");
-				} elsif ($rawlines[$linenr] !~ /^closes:\s*/i) {
+						"Reported-by: should be immediately followed by Closes: with a URL to the report\n" . $herecurr . "\n");
+				} elsif ($lines[$linenr] =~ /^reported(?:|-and-tested)-by:/i && $lines[$linenr + 1] =~ /^reported(?:|-and-tested)-by:/i) {
+       				 # Do nothing if the next line is another Reported-by:
+                }
+				elsif ($lines[$linenr]  =~ /^reported(?:|-and-tested)-by:/i && $lines[$linenr + 1] !~ /^closes:\s*/i) {
 					WARN("BAD_REPORTED_BY_LINK",
-					     "Reported-by: should be immediately followed by Closes: with a URL to the report\n" . $herecurr . $rawlines[$linenr] . "\n");
+						"Reported-by: should be immediately followed by Closes: with a URL to the report\n" . "#" . ($linenr + 1) . ":" . "\n" . $rawlines[$linenr] . "\n");
 				}
 			}
 		}
-- 
2.34.1
Re: [PATCH] scripts/checkpatch: Fix multiple Reported-by: false positive warning
Posted by Advait Dhamorikar 1 month ago
Hello all,

I would like to kindly ping for a review on the following patch.
I would greatly appreciate your feedback.

Thanks for your time and consideration.

Kind regards,
Advait

On Wed, 9 Oct 2024 at 15:53, Advait Dhamorikar
<advaitdhamorikar@gmail.com> wrote:
>
> If multiple Reported-by: tags are used, the
> checkpatch script throws a false positive warning
> even when there is a Closes tag following the two
> tags. This fix checks if the closes tag is present
> after multiple Reported-by tags.
>
> Here is an example of the same:
> > WARNING: Reported-by: should be immediately followed by Closes: with a
> > URL to the report
> > #10:
> > Reported-by: Kernel test bot <ppppqqqq@ymail.com>
> > Reported-by: Some Person <xxxyyy@gmail.com>
>
> > total: 0 errors, 1 warnings, 0 checks, 8 lines checked
>
> Signed-off-by: Advait Dhamorikar <advaitdhamorikar@gmail.com>
> ---
>  scripts/checkpatch.pl | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 4427572b2477..c74519f02180 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -3188,10 +3188,13 @@ sub process {
>                         if ($sign_off =~ /^reported(?:|-and-tested)-by:$/i) {
>                                 if (!defined $lines[$linenr]) {
>                                         WARN("BAD_REPORTED_BY_LINK",
> -                                            "Reported-by: should be immediately followed by Closes: with a URL to the report\n" . $herecurr . "\n");
> -                               } elsif ($rawlines[$linenr] !~ /^closes:\s*/i) {
> +                                               "Reported-by: should be immediately followed by Closes: with a URL to the report\n" . $herecurr . "\n");
> +                               } elsif ($lines[$linenr] =~ /^reported(?:|-and-tested)-by:/i && $lines[$linenr + 1] =~ /^reported(?:|-and-tested)-by:/i) {
> +                                        # Do nothing if the next line is another Reported-by:
> +                }
> +                               elsif ($lines[$linenr]  =~ /^reported(?:|-and-tested)-by:/i && $lines[$linenr + 1] !~ /^closes:\s*/i) {
>                                         WARN("BAD_REPORTED_BY_LINK",
> -                                            "Reported-by: should be immediately followed by Closes: with a URL to the report\n" . $herecurr . $rawlines[$linenr] . "\n");
> +                                               "Reported-by: should be immediately followed by Closes: with a URL to the report\n" . "#" . ($linenr + 1) . ":" . "\n" . $rawlines[$linenr] . "\n");
>                                 }
>                         }
>                 }
> --
> 2.34.1
>