[Linux-kernel-mentees] Linux kernel checkpatch.pl mentorship

Lukas Bulwahn lukas.bulwahn at gmail.com
Thu Sep 17 14:13:18 UTC 2020

On Thu, 17 Sep 2020, Dwaipayan Ray wrote:

> > If you do your homework, proper research what was decided in the past,
> > proper evaluations what the difference of your change is, proper
> > implementation, proper arguments for your change, it has high chances of
> > being accepted. Many agree that checkpatch.pl can be useful, but many
> > agree that it needs some improvements.
> >
> > It is certainly not a quick improvement, and needs some thought to make it
> > really better.
> >
> > >
> > > > You can try to work that through or look for another case of potential
> > > > checkpatch.pl improvement in your evaluation data.
> Hi,
> I would like to report you another finding about AUTHOR_SIGN_OFF.
> I found that some commits with the same author mail and sign off mail 
> also threw off this warning when there were non-ascii characters in
> the name.
> Let me give some examples:
> Commit 9d9cc58aff46 :
> Author: 周琰杰 (Zhou Yanjie) <zhouyanjie at wanyeetech.com>
> .....
> Signed-off-by: 周琰杰 (Zhou Yanjie) <zhouyanjie at wanyeetech.com>
> As you can see, there should have been no error message, but checkpatch
> gave this:
> WARNING:NO_AUTHOR_SIGN_OFF: Missing Signed-off-by: line by nominal
>  patch author ''
> Also commit 440d7a6f7390 and commit 424c85e1ffea by the same person 
> threw the error again. Evidently non ascii characters cause the parsing to fail.
> Both had the same chinese characters in the name.
> I also found another person with the same issue.
> Commit b03628b73564
> Author: Niklas Söderlund <niklas.soderlund+renesas at ragnatech.se>
> ...
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas at ragnatech.se>
> Checkpatch gave the warning:
> WARNING:NO_AUTHOR_SIGN_OFF: Missing Signed-off-by: line by nominal 
> patch author '' . The string here is again empty.
> Another same issue
> Commit f0a087a533b3
> Author: Vesa Jääskeläinen <vesa.jaaskelainen at vaisala.com>
> ...
> Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen at vaisala.com>

This is a very good investigation and I think it deserves to be handled 
better in checkpatch.pl if we can do this 'easily'. It is a bit involved, 
but I think it feasible because you do not need to write the complete 
encoding stuff.
> So you see in all these cases non ascii characters are present. I looked 
> into checkpatch.pl .
> line 2662:
>         if (decode("MIME-Header", $line) =~ /^From:\s*(.*)/) {
>            $author = $1; 
>             $author = encode("utf8", $author) if ($line =~ /=\?utf-8\?/i);
>             $author =~ s/"//g;
>             $author = reformat_email($author); 
>         }

Just a quick comment, referring to a line really does not work if you are 
not providing the sha of the git change you are looking at.

We might just be looking at two different versions, right? ...and hence 
the lines differ.

> When i looked into $line, it gave below:
> From: =?UTF-8?q?=E5=91=A8=E7=90=B0=E6=9D=B0=20=28Zhou=20Yanjie
> =29?= <zhouyanjie at wanyeetech.com>
> And at the end of this block, $author was equal to ''.
> There seems to be a parsing problem there.

Agree. Somehow the parsing seems to be just not fit for the job...
> Does this seem like a proper fixable candidate?

Yes, please move ahead and see if you find a suitable way to handle names 
with these different encodings.

It is very good that you kept searching in your investigation data for 
problems that deserve a fix and are feasible to fix. If you can 
actually fix it in an acceptable way, That will get you a job for the
future; there is certainly some work ahead.


More information about the Linux-kernel-mentees mailing list