Re: [GIT PULL] Please pull NFS client changes for Linux 4.7

From: Linus Torvalds
Date: Fri May 27 2016 - 20:30:29 EST


On Fri, May 27, 2016 at 5:17 PM, Boris Ostrovsky
<boris.ostrovsky@xxxxxxxxxx> wrote:
>
> It does fix it.

Ok, I've committed that in my tree, will do my usual build test and push out.

> This is not the first time we've hit this and people have always been
> changing code to initialize fields in execution path (and I didn't fix
> it here myself because I wasn't sure where to do that). I guess we
> could have been just adding braces all along.

Well, adding the braces also requires that you get the *order* of the
member initialization right, since the braces will be unnamed.

In this case, the unnamed union was the first member, so the trivial
patch worked, but that's not always the case.

In fact, in this case, I think an alternate and possibly better fix
would have been to just remove the ".data = { 0 }" initializer
entirely, since in its absence it would have been initialized to zero
anyway.

But since you already tested my uglier "just add a brace like the
error message suggests" that's the one I'll be committing.

It's a fairly annoying failure of older compilers, exactly because
people with newer compilers won't even realize that they are causing
problems.

Linus