Re: [PATCH] flow_dissector: avoid uninitialized variable access

From: Jiri Pirko
Date: Sat Oct 22 2016 - 02:56:27 EST


Sat, Oct 22, 2016 at 03:48:48AM CEST, torvalds@xxxxxxxxxxxxxxxxxxxx wrote:
>On Fri, Oct 21, 2016 at 9:31 AM, Jiri Pirko <jiri@xxxxxxxxxxx> wrote:
>>
>> I don't see how vlan could be used uninitialized. But I understand that
>> this is impossible for gcc to track it. Please just use uninitialized_var()
>
>Actually, I think we should never use "uninitialized_var()" except
>possibly for arrays or structures that gcc can complain about.
>
>It's a horrible thing to use, in that it adds extra cruft to the
>source code, and then shuts up a compiler warning (even the _reliable_
>warnings from gcc).
>
>It's much better to just initialize the variable, and if gcc some day
>gets smarter and sees that it is unnecessary and always overwritten,
>so much the better. The cost of initializing a single word is
>basically zero.

On the other hand, I would agrue that initializing a var to "some" value
that is never used might confuse the reader. He would naturally try to
understand the reason for that exact value in initialization.