All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lukas Bulwahn <lukas.bulwahn@gmail.com>
To: Mrinal Pandey <mrinalmni@gmail.com>
Cc: Linux-kernel-mentees@lists.linuxfoundation.org
Subject: Re: [Linux-kernel-mentees] [PATCH] checkpatch: Fix the usage of capture group ( ... )
Date: Sun, 12 Jul 2020 19:36:31 +0200	[thread overview]
Message-ID: <CAKXUXMyZBj609MhAWZ0kKD9+keqV857pFFJo3oZS0NGksT_42w@mail.gmail.com> (raw)
In-Reply-To: <20200712121956.3hspxlqh4oawm5pc@mrinalpandey>


[-- Attachment #1.1: Type: text/plain, Size: 4783 bytes --]

On Sun, Jul 12, 2020 at 2:20 PM Mrinal Pandey <mrinalmni@gmail.com> wrote:

> On 20/07/12 09:18AM, Lukas Bulwahn wrote:
> > On Sun, Jul 12, 2020 at 7:18 AM Mrinal Pandey <mrinalmni@gmail.com>
> wrote:
> >
> > > On Sun, Jul 12, 2020 at 12:44 AM Lukas Bulwahn <
> lukas.bulwahn@gmail.com>
> > > wrote:
> > >
> > >>
> > >>
> > >> On Sat, Jul 11, 2020 at 5:44 PM Mrinal Pandey <mrinalmni@gmail.com>
> > >> wrote:
> > >>
> > >>> The usage of "capture group (...)" in the immediate condition after
> `&&`
> > >>> results in `$1` being uninitialized. This eventually crashes the
> script.
> > >>>
> > >>>
> > >> It does not really crash it, right? It just emits a warning.
> > >>
> > >
> > > Sir,
> > >
> > > Yes. I will modify the line accordingly.
> > >
> > >>
> > >>
> > >>> Fix this by placing the capture group in the condition before `&&`.
> > >>> Thus, `$1` can be initialized to the text it matches thereby setting
> it
> > >>> to the desired and required value.
> > >>>
> > >>>
> > >> Maybe you can look when this bug was introduced?
> > >>
> > >
> > > The bug was first introduced with the commit `e518e9a59ec3` when the
> block
> > > was
> > > added to the script. It has been like that since then.
> > > Should I add this detail too in the commit message?
> > >
> >
> > Yes, please do.
> >
> > Commits are referred to with its hash shortened to 12 characters and the
> > commit message header in the following format:
> >
> > Commit e518e9a59ec3 ("checkpatch: emit an error when there's a diff in a
> > changelog")
> >
> >
> > Further note:
> > - can you also explain what the author intended to do?
> > - can you describe in one sentence how you discovered this bug?
> > - use checkpatch.pl on your own patch.
> >
> > Please rework the commit message and resend to this list, Shuah and me.
> >
> > I think if that patch is then okay, we have a quick look and then you can
> > send it out to the general list.
> >
> Sir,
>
> Please let me know if the commit message could be further improved or
> this is what you seek.
> I ran my patch through checkpatch and it says that the patch has no
> obvious style problems.
> I hope I wasn't supposed to include patch version history on this patch,
> please correct me if I am wrong.
>
> Thank you.
> >
> > Lukas
> >
> > >
>
> The usage of "capture group (...)" in the immediate condition after `&&`
> results in `$1` being uninitialized. This issues a warning "Use of
> uninitialized value $1 in regexp compilation at ./scripts/checkpatch.pl
> line 2638".
>
> I noticed this bug while running checkpatch on the set of commits from
> v5.7 to v5.8-rc1 of the kernel. The warning was thrown on the commits
> which had a diff content in their commit message.
>
>  Just drop " . The warning was thrown" and say:

  I noticed this bug while running checkpatch on the set of commits from
v5.7 to v5.8-rc1 of the kernel on the commits with a diff content in their
commit message.

> This bug was introduced in the script by Commit e518e9a59ec3
> ("checkpatch: emit an error when there's a diff in a changelog"). It has
> been in the script since then.
>
>
s/Commit/commit


> The author intended to store the match made by capture group in variable
> `$1`. This should have contained the name of the file as `[\w/]+` matched.
> However, this couldn't be accomplished due to usage of capture group and
> `$1` in the same RegEx.
>
>
s/RegEx/regular expression/


> Fix this by placing the capture group in the condition before `&&`.
> Thus, `$1` can be initialized to the text which capture group matches
> thereby setting it to the desired and required value.
>
> s/which/that/


Fix those minor points and send the patch to lkml and the maintainers (CC:
me, Shuah, and the list).

Read through the instructions for sending patches and follow all the
guidelines.

Lukas

Signed-off-by: Mrinal Pandey <mrinalmni@gmail.com>
> ---
>  scripts/checkpatch.pl | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 4c820607540b..e73e998d582a 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -2636,8 +2636,8 @@ sub process {
>
>  # Check if the commit log has what seems like a diff which can confuse
> patch
>                 if ($in_commit_log && !$commit_log_has_diff &&
> -                   (($line =~ m@^\s+diff\b.*a/[\w/]+@ &&
> -                     $line =~ m@^\s+diff\b.*a/([\w/]+)\s+b/$1\b@) ||
> +                   (($line =~ m@^\s+diff\b.*a/([\w/]+)@ &&
> +                     $line =~ m@^\s+diff\b.*a/[\w/]+\s+b/$1\b@) ||
>                      $line =~ m@^\s*(?:\-\-\-\s+a/|\+\+\+\s+b/)@ ||
>                      $line =~ m/^\s*\@\@ \-\d+,\d+ \+\d+,\d+ \@\@/)) {
>                         ERROR("DIFF_IN_COMMIT_MSG",
> --
> 2.25.1
>
>

[-- Attachment #1.2: Type: text/html, Size: 7545 bytes --]

[-- Attachment #2: Type: text/plain, Size: 201 bytes --]

_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees

  reply	other threads:[~2020-07-12 19:36 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-11 15:44 [Linux-kernel-mentees] [PATCH] checkpatch: Fix the usage of capture group ( ... ) Mrinal Pandey
2020-07-11 19:14 ` Lukas Bulwahn
2020-07-12  5:18   ` Mrinal Pandey
2020-07-12  7:18     ` Lukas Bulwahn
2020-07-12 12:19       ` Mrinal Pandey
2020-07-12 17:36         ` Lukas Bulwahn [this message]
2020-07-13  4:32 Mrinal Pandey
2020-07-13 19:31 ` Lukas Bulwahn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAKXUXMyZBj609MhAWZ0kKD9+keqV857pFFJo3oZS0NGksT_42w@mail.gmail.com \
    --to=lukas.bulwahn@gmail.com \
    --cc=Linux-kernel-mentees@lists.linuxfoundation.org \
    --cc=mrinalmni@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.