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@google.com/ (local)
[2] https://lore.kernel.org/lkml/CA+55aFw+Vbj0i=1TGqCR5vQkCzWJ0QxK6CernOU6eedsudAixw@mail.gmail.com/ (local)
[3] https://lore.kernel.org/lkml/CA+55aFwgbgqhbp1fkxvRKEpzyR5J8n1vKT1VZdz9knmPuXhOeg@mail.gmail.com/ (local)
[4] https://lore.kernel.org/lkml/CA+55aFz2500WfbKXAx8s67wrm9=yVJu65TpLgN_ybYNv0VEOKA@mail.gmail.com/ (local)
nack. see below.
I'd prefer a simple revert, but it shouldn't
be done here.
quoted hunk ↗ jump to hunk
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
quoted hunk ↗ jump to hunk
@@ -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
e.g.: int *bar(void);
Other than that, fine by me...