Re: [PATCH] Enable '-Werror' by default for all kernel builds

From: Guenter Roeck
Date: Tue Sep 07 2021 - 11:50:18 EST


On 9/6/21 7:29 PM, Guenter Roeck wrote:
On 9/6/21 6:12 PM, Linus Torvalds wrote:
On Mon, Sep 6, 2021 at 4:49 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:

but I'm not seeing why that one happens on sparc64, but not on arm64
or x86-64. There doesn't seem to be anything architecture-specific
anywhere in that area.

Funky.

Not really. That is because de->di_fname is always 16 bytes but size
can be 48 if the node is really a link. The use of de is overloaded
in that case; de is struct qnx4_inode_entry (where di_fname is 16 bytes)
but the actual data is struct qnx4_link_info where the name is 48 bytes
long. A possible fix (compile tested only) is below.

I think the warning/error is only reported with gcc 11.x. Do you possibly
use an older compiler for x86/arm64 ?

No. Literally the same exact version. All of them are

     gcc version 11.2.1 20210728

from F34.

I suspect it's something about the config - a sparc64 allmodconfig
presumably doesn't end up having some of the things x86-64 has enabled
(because of different core config parameters), and then optimizes
differently as a result and shows the issue that way.

Or something. <wild handwaving>


Looks like Arnd stumbled into the qnx4 problem before:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578


... and submitted a patch for it:

https://lore.kernel.org/lkml/20210322160253.4032422-6-arnd@xxxxxxxxxx/

Looks like it got lost.

Guenter