On Thu, 20 Sep 2007, Maciej W. Rozycki wrote: > > Perhaps preinitialising to an error value such as -EINVAL would be of > more sense. This way any error paths lacking initialisation are still > reported as errors, even though the classification might be wrong. Eeee ... at least I wouldn't prefer that. Why not simply use the "int x = x;" trick (which is what uninitialized_var() does) -- it shuts up the warning, and does *nothing* else. The bug will not be hidden, if there's bad misbehaviour happening due to the bug, it will continue to happen that way -- thus bringing our attention to it. Pre-initializing to -EINVAL (or whatever) has the problem that when the bug actually triggers, something unrelated might happen higher up the callchain, and we'd be scratching our heads in a "why are we getting a -EINVAL here?" kind of way ... worse still, we might think that this was _really_ an EINVAL and go about debugging it ... Plus, pre-initializing to -EINVAL (or even 0) will waste some bytes in kernel text size, but no such overhead with uninitialized_var() :-) Satyam