Re: [PATCH] checkpatch.pl: Add warning for harmful goto labels

From: Richard Weinberger
Date: Sat Mar 21 2015 - 17:41:17 EST


On Sat, Mar 21, 2015 at 10:16 PM, L. Alberto GimÃnez
<agimenez@xxxxxxxxxxx> wrote:
> Issue a warning for too broad goto labels that may make the code to
> follow the wrong exit path, thus causing hard to debug bugs.
>
> Signed-off-by: L. Alberto GimÃnez <agimenez@xxxxxxxxxxx>
> ---
> scripts/checkpatch.pl | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index d124359..e8ce220 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -444,6 +444,11 @@ our $allowed_asm_includes = qr{(?x:
> )};
> # memory.h: ARM has a custom one
>
> +our @goto_harmful_labels = qw(
> + out
> + fail
> + );
> +
> # Load common spelling mistakes and build regular expression list.
> my $misspellings;
> my %spelling_fix;
> @@ -2702,6 +2707,14 @@ sub process {
> }
> }
>
> + if ($sline =~ /goto (.*);/) {
> + my $label = $1;
> + if (grep { /^$label$/ } @goto_harmful_labels) {
> + WARN("HARMFUL_GOTO_LABEL",
> + "Goto label '$label' is considered harmful\n" . $herecurr);

Huh? Since when?

rw@azrael:~/linux (for-v4.1/uml_misc $)> git grep -e "goto out;" | wc -l
26667
rw@azrael:~/linux (for-v4.1/uml_misc $)> git grep -e "goto fail;" | wc -l
3733

What is next? Variable name "i" considered harmful?
Can we please stop this nonsense.

--
Thanks,
//richard
--
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/