* [PATCH v2] checkpatch: Tolerate upstream commit references
@ 2025-06-10 16:31 Petr Machata
2025-06-10 19:39 ` Joe Perches
0 siblings, 1 reply; 3+ messages in thread
From: Petr Machata @ 2025-06-10 16:31 UTC (permalink / raw)
To: Andy Whitcroft, Joe Perches, Dwaipayan Ray, Lukas Bulwahn
Cc: linux-kernel, Andy Roulin, Petr Machata
Two forms of upstream commit references are used (and documented) for
stable kernels:
- [ Upstream commit <sha1> ]
- commit <sha1> upstream.
Extend checkpatch so that it doesn't cite these. This reduces noise that
downstream maintainers experience when checkpatching patches that may
contain commit references of this sort.
Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Andy Roulin <aroulin@nvidia.com>
---
Notes:
v2:
- No changes, just a ping.
scripts/checkpatch.pl | 2 ++
1 file changed, 2 insertions(+)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 664f7b7a622c..bd4405b59103 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3351,6 +3351,8 @@ sub process {
if ($perl_version_ok &&
$in_commit_log && !$commit_log_possible_stack_dump &&
$line !~ /^\s*(?:Link|Patchwork|http|https|BugLink|base-commit):/i &&
+ $line !~ /^\s*\[ Upstream commit [0-9a-f]{40} ]/ &&
+ $line !~ /^\s*commit [0-9a-f]{40}\s*upstream\./ &&
$line !~ /^This reverts commit [0-9a-f]{7,40}/ &&
(($line =~ /\bcommit\s+[0-9a-f]{5,}\b/i ||
($line =~ /\bcommit\s*$/i && defined($rawlines[$linenr]) && $rawlines[$linenr] =~ /^\s*[0-9a-f]{5,}\b/i)) ||
--
2.49.0
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH v2] checkpatch: Tolerate upstream commit references
2025-06-10 16:31 [PATCH v2] checkpatch: Tolerate upstream commit references Petr Machata
@ 2025-06-10 19:39 ` Joe Perches
2025-06-11 12:08 ` Petr Machata
0 siblings, 1 reply; 3+ messages in thread
From: Joe Perches @ 2025-06-10 19:39 UTC (permalink / raw)
To: Petr Machata, Andy Whitcroft, Dwaipayan Ray, Lukas Bulwahn
Cc: linux-kernel, Andy Roulin
On Tue, 2025-06-10 at 18:31 +0200, Petr Machata wrote:
> Two forms of upstream commit references are used (and documented) for
> stable kernels:
>
> - [ Upstream commit <sha1> ]
> - commit <sha1> upstream.
Is the sha1 never abbreviated?
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -3351,6 +3351,8 @@ sub process {
> if ($perl_version_ok &&
> $in_commit_log && !$commit_log_possible_stack_dump &&
> $line !~ /^\s*(?:Link|Patchwork|http|https|BugLink|base-commit):/i &&
> + $line !~ /^\s*\[ Upstream commit [0-9a-f]{40} ]/ &&
> + $line !~ /^\s*commit [0-9a-f]{40}\s*upstream\./ &&
always 40 chars?
> $line !~ /^This reverts commit [0-9a-f]{7,40}/ &&
> (($line =~ /\bcommit\s+[0-9a-f]{5,}\b/i ||
> ($line =~ /\bcommit\s*$/i && defined($rawlines[$linenr]) && $rawlines[$linenr] =~ /^\s*[0-9a-f]{5,}\b/i)) ||
In stable I see a few like:
commit fef912bf860e upstream.
commit 98af4d4df889 upstream.
and
[ commit d3bd7413e0ca40b60cf60d4003246d067cafdeda upstream ]
[ commit 979d63d50c0c0f7bc537bf821e056cc9fe5abd38 upstream ]
and some with an upper case Commit
Commit d6951f582cc50ba0ad22ef46b599740966599b14 upstream.
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH v2] checkpatch: Tolerate upstream commit references
2025-06-10 19:39 ` Joe Perches
@ 2025-06-11 12:08 ` Petr Machata
0 siblings, 0 replies; 3+ messages in thread
From: Petr Machata @ 2025-06-11 12:08 UTC (permalink / raw)
To: Joe Perches
Cc: Petr Machata, Andy Whitcroft, Dwaipayan Ray, Lukas Bulwahn,
linux-kernel, Andy Roulin
Joe Perches <joe@perches.com> writes:
> On Tue, 2025-06-10 at 18:31 +0200, Petr Machata wrote:
>> Two forms of upstream commit references are used (and documented) for
>> stable kernels:
>>
>> - [ Upstream commit <sha1> ]
>> - commit <sha1> upstream.
>
> Is the sha1 never abbreviated?
I mean, as per the spec it isn't. I want to make sure I don't let false
negatives in, that's the motivation for just going purely by the spec.
>> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
>> @@ -3351,6 +3351,8 @@ sub process {
>> if ($perl_version_ok &&
>> $in_commit_log && !$commit_log_possible_stack_dump &&
>> $line !~ /^\s*(?:Link|Patchwork|http|https|BugLink|base-commit):/i &&
>> + $line !~ /^\s*\[ Upstream commit [0-9a-f]{40} ]/ &&
>> + $line !~ /^\s*commit [0-9a-f]{40}\s*upstream\./ &&
>
> always 40 chars?
>
>> $line !~ /^This reverts commit [0-9a-f]{7,40}/ &&
>> (($line =~ /\bcommit\s+[0-9a-f]{5,}\b/i ||
>> ($line =~ /\bcommit\s*$/i && defined($rawlines[$linenr]) && $rawlines[$linenr] =~ /^\s*[0-9a-f]{5,}\b/i)) ||
>
> In stable I see a few like:
>
> commit fef912bf860e upstream.
> commit 98af4d4df889 upstream.
There are a couple hits, but most come from 2018, one from 2021 and one
from 2022. My intuition is to ignore these because of the combination of
how old and how rare they are, but maybe it's better to assume a slip
like this will come up at some point again.
>
> and
>
> [ commit d3bd7413e0ca40b60cf60d4003246d067cafdeda upstream ]
> [ commit 979d63d50c0c0f7bc537bf821e056cc9fe5abd38 upstream ]
Yeah, there's a bunch of these in 2019.
> and some with an upper case Commit
>
> Commit d6951f582cc50ba0ad22ef46b599740966599b14 upstream.
OK, this one seems to be used on occasion. Even see hits from this year.
I think it might make sense to support this as well. Hmm, and then this
in brackets seems to be used a bunch, too.
So maybe I should generalize it a bit and ignore the hash check if
either of these hits?
(\[ )?[Uu]pstream commit [0-9a-f]{12,40}\.?( ])?
(\[ )?[Cc]ommit [0-9a-f]{12,40} upstream\.?( ])?
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-06-11 15:03 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-10 16:31 [PATCH v2] checkpatch: Tolerate upstream commit references Petr Machata
2025-06-10 19:39 ` Joe Perches
2025-06-11 12:08 ` Petr Machata
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.