[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8184a4fe-ddfb-4c38-be2f-e8d808ce777b@kernel.org>
Date: Mon, 5 Aug 2024 12:17:14 +0200
From: Matthieu Baerts <matttbe@...nel.org>
To: Andy Whitcroft <apw@...onical.com>, Joe Perches <joe@...ches.com>,
Dwaipayan Ray <dwaipayanray1@...il.com>,
Lukas Bulwahn <lukas.bulwahn@...il.com>
Cc: Geliang Tang <geliang@...nel.org>, Geliang Tang <tanggeliang@...inos.cn>,
linux-kernel@...r.kernel.org, mptcp@...ts.linux.dev
Subject: Re: [RESEND PATCH v2] checkpatch: skip warnings for symbol links
Hi Andy, Joe, Dwaipayan, Lukas,
I'm sorry to bother you about that, but it looks like the following
patch from Geliang didn't get any review from your side. Do you mind
having a look at this non-urgent patch when you have a bit of free time
please?
Cheers,
Matt
On 07/06/2024 03:12, Geliang Tang wrote:
> From: Geliang Tang <tanggeliang@...inos.cn>
>
> If there is a symbol link in the given patch, like the following one:
>
> $ cat 0001-selftests-bpf-Add-mptcp-pm_nl_ctl-link.patch
>
> '''
> # diff --git a/tools/testing/selftests/bpf/mptcp_pm_nl_ctl.c \
> # b/tools/testing/selftests/bpf/mptcp_pm_nl_ctl.c
> # new file mode 120000
> # index 000000000000..5a08c255b278
> # --- /dev/null
> # +++ b/tools/testing/selftests/bpf/mptcp_pm_nl_ctl.c
> # @@ -0,0 +1 @@
> # +../net/mptcp/pm_nl_ctl.c
> # \ No newline at end of file
> '''
>
> checkpatch.pl reports two inaccurate warnings:
>
> '''
> WARNING: Missing or malformed SPDX-License-Identifier tag in line 1
> #65: FILE: tools/testing/selftests/bpf/mptcp_pm_nl_ctl.c:1:
> +../net/mptcp/pm_nl_ctl.c
>
> WARNING: adding a line without newline at end of file
> #65: FILE: tools/testing/selftests/bpf/mptcp_pm_nl_ctl.c:1:
> +../net/mptcp/pm_nl_ctl.c
> '''
>
> And three checks if run it with strict option:
>
> '''
> CHECK: spaces preferred around that '/' (ctx:VxV)
> #65: FILE: tools/testing/selftests/bpf/mptcp_pm_nl_ctl.c:1:
> +../net/mptcp/pm_nl_ctl.c
> ^
>
> CHECK: spaces preferred around that '/' (ctx:VxV)
> #65: FILE: tools/testing/selftests/bpf/mptcp_pm_nl_ctl.c:1:
> +../net/mptcp/pm_nl_ctl.c
> ^
>
> CHECK: spaces preferred around that '/' (ctx:VxV)
> #65: FILE: tools/testing/selftests/bpf/mptcp_pm_nl_ctl.c:1:
> +../net/mptcp/pm_nl_ctl.c
> '''
>
> This patch fixes this by adding a new variable $symbol_link in checkpatch
> script, set it if the new file mode is 120000. Skip "missing or malformed
> SPDX-License-Identifier tag", "adding a line without newline at end of
> file" and "spaces preferred around that '/'" checks if this variable is
> set.
>
> Signed-off-by: Geliang Tang <tanggeliang@...inos.cn>
> ---
> v2:
> - fix warnings with strict option too.
> ---
> scripts/checkpatch.pl | 15 ++++++++++++---
> 1 file changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 2b812210b412..1f3ce5ffe914 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -2694,6 +2694,8 @@ sub process {
>
> my $checklicenseline = 1;
>
> + my $symbol_link = 0;
> +
> sanitise_line_reset();
> my $line;
> foreach my $rawline (@rawlines) {
> @@ -3564,6 +3566,11 @@ sub process {
> # ignore non-hunk lines and lines being removed
> next if (!$hunk_line || $line =~ /^-/);
>
> +# Check for symbol links
> + if ($line =~ /^new file mode 120000$/) {
> + $symbol_link = 1;
> + }
> +
> #trailing whitespace
> if ($line =~ /^\+.*\015/) {
> my $herevet = "$here\n" . cat_vet($rawline) . "\n";
> @@ -3756,7 +3763,8 @@ sub process {
> }
>
> if ($comment !~ /^$/ &&
> - $rawline !~ m@^\+\Q$comment\E SPDX-License-Identifier: @) {
> + $rawline !~ m@^\+\Q$comment\E SPDX-License-Identifier: @ &&
> + $symbol_link =~ 1) {
> WARN("SPDX_LICENSE_TAG",
> "Missing or malformed SPDX-License-Identifier tag in line $checklicenseline\n" . $herecurr);
> } elsif ($rawline =~ /(SPDX-License-Identifier: .*)/) {
> @@ -3867,7 +3875,8 @@ sub process {
> }
>
> # check for adding lines without a newline.
> - if ($line =~ /^\+/ && defined $lines[$linenr] && $lines[$linenr] =~ /^\\ No newline at end of file/) {
> + if ($line =~ /^\+/ && defined $lines[$linenr] && $lines[$linenr] =~ /^\\ No newline at end of file/ &&
> + $symbol_link =~ 1) {
> if (WARN("MISSING_EOF_NEWLINE",
> "adding a line without newline at end of file\n" . $herecurr) &&
> $fix) {
> @@ -5293,7 +5302,7 @@ sub process {
> $op eq '*' or $op eq '/' or
> $op eq '%')
> {
> - if ($check) {
> + if ($check && $symbol_link =~ 1) {
> if (defined $fix_elements[$n + 2] && $ctx !~ /[EW]x[EW]/) {
> if (CHK("SPACING",
> "spaces preferred around that '$op' $at\n" . $hereptr)) {
--
Sponsored by the NGI0 Core fund.
Powered by blists - more mailing lists