On Wed, Jun 03, 2020 at 06:47:13PM -0700, Joe Perches wrote: > On Wed, 2020-06-03 at 18:40 -0700, Kees Cook wrote: > > On Wed, Jun 03, 2020 at 05:02:29PM -0700, Joe Perches wrote: > > > On Wed, 2020-06-03 at 16:32 -0700, Kees Cook wrote: > > > > Using uninitialized_var() is dangerous as it papers over real bugs[1] > > > > (or can in the future), and suppresses unrelated compiler warnings > > > > (e.g. "unused variable"). If the compiler thinks it is uninitialized, > > > > either simply initialize the variable or make compiler changes. > > > > > > > > In preparation for removing[2] the[3] macro[4], effectively revert > > > > commit 16b7f3c89907 ("checkpatch: avoid warning about uninitialized_var()") > > > > and remove all remaining mentions of uninitialized_var(). > > > > > > > > [1] https://lore.kernel.org/lkml/20200603174714.192027-1-glider@xxxxxxxxxx/ > > > > [2] https://lore.kernel.org/lkml/CA+55aFw+Vbj0i=1TGqCR5vQkCzWJ0QxK6CernOU6eedsudAixw@xxxxxxxxxxxxxx/ > > > > [3] https://lore.kernel.org/lkml/CA+55aFwgbgqhbp1fkxvRKEpzyR5J8n1vKT1VZdz9knmPuXhOeg@xxxxxxxxxxxxxx/ > > > > [4] https://lore.kernel.org/lkml/CA+55aFz2500WfbKXAx8s67wrm9=yVJu65TpLgN_ybYNv0VEOKA@xxxxxxxxxxxxxx/ > > > > > > nack. see below. > > > > > > I'd prefer a simple revert, but it shouldn't > > > be done here. > > > > What do you mean? (I can't understand this and "fine by me" below?) > > I did write "other than that"... > > I mean that the original commit fixed 2 issues, > one with the uninitialized_var addition, and > another with the missing void function declaration. > > I think I found the missing void function bit because > the uninitialized_var use looked like a function so I > fixed both things at the same time. > > If you change it, please just remove the bit that > checks for uninitialized_var. Ah! Gotcha. Thanks; I will update it. -Kees > > Thanks, Joe > > > > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > > > [] > > > > @@ -4075,7 +4074,7 @@ sub process { > > > > } > > > > > > > > # check for function declarations without arguments like "int foo()" > > > > - if ($line =~ /(\b$Type\s*$Ident)\s*\(\s*\)/) { > > > > + if ($line =~ /(\b$Type\s+$Ident)\s*\(\s*\)/) { > > > > > > This isn't right because $Type includes a possible trailing * > > > where there isn't a space between $Type and $Ident > > > > Ah, hm, that was changed in the mentioned commit: > > > > - if ($line =~ /(\b$Type\s+$Ident)\s*\(\s*\)/) { > > + if ($line =~ /(\b$Type\s*$Ident)\s*\(\s*\)/) { > > > > > e.g.: int *bar(void); > > > > > > Other than that, fine by me... > > > > Thanks for looking it over! I'll adjust it however you'd like. :) > > > -- Kees Cook