| From: Kai Wasserbäch <kai@dev.carbon-project.org> |
| Subject: checkpatch: warn when Reported-by: is not followed by Link: |
| Date: Fri, 20 Jan 2023 13:35:19 +0100 |
| |
| Encourage patch authors to link to reports by issuing a warning, if a |
| Reported-by: is not accompanied by a link to the report. Those links are |
| often extremely useful for any code archaeologist that wants to know more |
| about the backstory of a change than the commit message provides. That |
| includes maintainers higher up in the patch-flow hierarchy, which is why |
| Linus asks developers to add such links [1, 2, 3]. To quote [1]: |
| |
| > Again, the commit has a link to the patch *submission*, which is |
| > almost entirely useless. There's no link to the actual problem the |
| > patch fixes. |
| > |
| > [...] |
| > |
| > Put another way: I can see that |
| > |
| > Reported-by: Zhangfei Gao <zhangfei.gao@foxmail.com> |
| > |
| > in the commit, but I don't have a clue what the actual report was, and |
| > there really isn't enough information in the commit itself, except for |
| > a fairly handwavy "Device drivers might, for instance, still need to |
| > flush operations.." |
| > |
| > I don't want to know what device drivers _might_ do. I would want to |
| > have an actual pointer to what they do and where. |
| |
| Another reason why these links are wanted: the ongoing regression tracking |
| efforts can only scale with them, as they allow the regression tracking |
| bot 'regzbot' to automatically connect tracked reports with patches that |
| are posted or committed to fix tracked regressions. |
| |
| Link: https://lore.kernel.org/all/CAHk-=wjMmSZzMJ3Xnskdg4+GGz=5p5p+GSYyFBTh0f-DgvdBWg@mail.gmail.com/ [1] |
| Link: https://lore.kernel.org/all/CAHk-=wgs38ZrfPvy=nOwVkVzjpM3VFU1zobP37Fwd_h9iAD5JQ@mail.gmail.com/ [2] |
| Link: https://lore.kernel.org/all/CAHk-=wjxzafG-=J8oT30s7upn4RhBs6TX-uVFZ5rME+L5_DoJA@mail.gmail.com/ [3] |
| Link: https://lkml.kernel.org/r/bb5dfd55ea2026303ab2296f4a6df3da7dd64006.1674217480.git.linux@leemhuis.info |
| Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org> |
| Co-developed-by: Thorsten Leemhuis <linux@leemhuis.info> |
| Signed-off-by: Thorsten Leemhuis <linux@leemhuis.info> |
| Cc: Andy Whitcroft <apw@canonical.com> |
| Cc: Dwaipayan Ray <dwaipayanray1@gmail.com> |
| Cc: Joe Perches <joe@perches.com> |
| Cc: Lukas Bulwahn <lukas.bulwahn@gmail.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| |
| --- a/scripts/checkpatch.pl~checkpatch-warn-when-reported-by-is-not-followed-by-link |
| +++ a/scripts/checkpatch.pl |
| @@ -3157,8 +3157,20 @@ sub process { |
| "Co-developed-by and Signed-off-by: name/email do not match \n" . "$here\n" . $rawline . "\n" .$rawlines[$linenr]); |
| } |
| } |
| + |
| +# check if Reported-by: is followed by a Link: |
| + if ($sign_off =~ /^reported(?:|-and-tested)-by:$/i) { |
| + if (!defined $lines[$linenr]) { |
| + WARN("BAD_REPORTED_BY_LINK", |
| + "Reported-by: should be immediately followed by Link: to the report\n" . $herecurr . $rawlines[$linenr] . "\n"); |
| + } elsif ($rawlines[$linenr] !~ m{^link:\s*https?://}i) { |
| + WARN("BAD_REPORTED_BY_LINK", |
| + "Reported-by: should be immediately followed by Link: with a URL to the report\n" . $herecurr . $rawlines[$linenr] . "\n"); |
| + } |
| + } |
| } |
| |
| + |
| # Check Fixes: styles is correct |
| if (!$in_header_lines && |
| $line =~ /^\s*fixes:?\s*(?:commit\s*)?[0-9a-f]{5,}\b/i) { |
| _ |