RE: [PATCH] New Chapter on CodingStyle .

From: David Laight
Date: Tue Aug 15 2017 - 12:55:45 EST


From: Stephen Hemminger
> Sent: 15 August 2017 17:21
> On Tue, 15 Aug 2017 10:42:39 +0000
> David Laight <David.Laight@xxxxxxxxxx> wrote:
>
> > From: Jonathan Corbet
> > > Sent: 12 August 2017 15:55
> > ...
> > > > + Chapter 20: Put values on initialisers without exception
> > > > +
> > > > +When declaring variables on functions must put values:
> > >
> > > Thanks for sending a patch for the kernel's documentation.
> > > Unfortunately, I can't accept this patch for a couple of reasons:
> > ...
> > > - The coding style document is there to describe the community's
> > > standards for kernel code. It is *not* a mechanism for imposing new
> > > standards. If you really think that the kernel community should adopt
> > > this rule, you will need to argue for it on the mailing lists. I will
> > > say, though, that I do not expect that this effort would be successful.
> >
> > I'd even go as far as suggesting almost the opposite.
> > Declarations should only have initialisers if the value is constant.
>
> Yup. This new rule sound like something taught to people in coding schools.
> But initializing everything defeats the compiler detection of uninitialized variables
> which is more useful for catching errors.

You'll also get:
Values being read the wrong side of locks.
Values being read early so requiring spilling to stack.

Next someone will be suggesting that all pointers should be checked
against NULL every time they are used.

David