Re: possible new false positive in checkpatch

From: Andy Whitcroft
Date: Mon Sep 14 2015 - 06:27:56 EST


On Sat, Sep 12, 2015 at 03:13:31PM +0300, Tal Shorer wrote:
> Since my last pull from upstream (today) , I started seeing some
> checkpatch warnings regarding suspect code indent I believe are false
> positive. Take this code for example:
>
> static int foo(void)
> {
> while (bar())
> /* do nothing */;
> }
>
> When running checkpath on it, the following warning is emitted:
>
> tal@tal:~/Dev/lfs/linux|0 $ scripts/checkpatch.pl -f ~/tmp/foo.c
> WARNING: suspect code indent for conditional statements (8, 32)
> #3: FILE: /home/tal/tmp/foo.c:3:
> + while (bar())
> + /* do nothing */;
>
> total: 0 errors, 1 warnings, 5 lines checked
>
> /home/tal/tmp/foo.c has style problems, please review.
>
> NOTE: If any of the errors are false positives, please report
> them to the maintainer, see CHECKPATCH in MAINTAINERS.
> tal@tal:~/Dev/lfs/linux|1 $
>
> Using my limited perl knowledge, I believe the lines causing this are
> 3111-3133:
> # remove inline comments
> $s =~ s/$;/ /g;
> $c =~ s/$;/ /g;

Yes it feels like that should be eliding them completely, and likely any
following space as well, something like this:

$s =~ s/$;+\s*//g;
$c =~ s/$;+\s*//g;

> Introduced in commit 9f5af480f4554aac12e002b6f5c2b04895857700:
> checkpatch: improve SUSPECT_CODE_INDENT test
> Commenting out these lines removes the warning.
>
> This pattern exists in many places around the kernel source.
> Is this the intended behavior?

Seems wrong to me.

-apw
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/