[Linux-kernel-mentees] checkpatch.pl investigation for false-positives

Ujjwal Kumar ujjwalkumar0501 at gmail.com
Wed Sep 23 08:41:54 UTC 2020

Hi Lukas,

I looked at different error messages and came-up with a list of
possible false positives reports by checkpatch script.

First, is about BAD_SIGN_OFF warning for Duplicate signature.
Though it is obvious to have these warnings but I am wondering 
about situations where there is some other signature between 
two exactly same signatures.
For instance,

commit 3f9c6d38797e9903937b007a341dad0c251765d6
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron at huawei.com>
    Acked-by: Andrew F. Davis <afd at ti.com>
    Cc: <Stable at vger.kernel.org>
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron at huawei.com>

commit 79ea1e12c0b8540100e89b32afb9f0e6503fad35
    Signed-off-by: Johannes Berg <johannes.berg at intel.com>
    Link: https://lore.kernel.org/r/20200604120420.b1dc540a7e26.I55
dcca56bb5bdc5d7ad66a36a0b42afd7034d8be at changeid
    Signed-off-by: Johannes Berg <johannes.berg at intel.com>
I'm not familiar how/when these situations can occur. But if these 
scenarios are commonly acceptable then the script should not report
 a warning for duplicate signatures.


Second, is about WHILE_AFTER_BRACE errors.

Example commit: 6f8a57ccf8511724e6f48d732cb2940889789ab2

The error message suggests to move the empty while loop with close 
brace of an if block which is not recommended according to the code 

The possible correction would be consider checking the type of 
block that is ending and report only when the do block is found.


Third, is about EXECUTE_PERMISSIONS errors where the script reports 
an error for a python (possible with others scripts as well) script 
with file mode set as '100755' but file name does not include '.py' 
extension and is not present under the 'scripts' directory tree.

So, a python script file named 'binfmt_script' with file mode '100755'
 is erroneously reported by the script as:

ERROR:EXECUTE_PERMISSIONS: do not set execute permissions for source files
#39: FILE: tools/testing/selftests/exec/binfmt_script

even when it is okay to make the script file executable.

Example commit b081320f0693cce0394f7c8bad9fba0b25982186

A possible solution to this would be to use the script's first line 
for determining whether the file is a executable file or not.


I would like your opinion on these findings, whether any of them can 
be worked on.

Ujjwal Kumar

More information about the Linux-kernel-mentees mailing list