Thread (26 messages) 26 messages, 11 authors, 2021-01-08

Re: Aarch64 EXT4FS inode checksum failures - seems to be weak memory ordering issues

From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2021-01-08 20:04:51
Also in: linux-ext4, linux-toolchains, lkml

Possibly related (same subject, not in this thread)

On Fri, Jan 8, 2021 at 1:27 AM Will Deacon [off-list ref] wrote:
On Fri, Jan 08, 2021 at 10:21:54AM +0100, Peter Zijlstra wrote:
quoted
On Thu, Jan 07, 2021 at 10:20:38PM +0100, Arnd Bergmann wrote:
quoted
On Thu, Jan 7, 2021 at 2:37 PM Russell King - ARM Linux admin
quoted
quoted
So, do we raise the minimum gcc version for the kernel as a whole to 5.1
or just for aarch64?
I'd personally love to see gcc-5 as the global minimum version, as that
would let us finally use --std=gnu11 features instead of gnu89. [There are
a couple of useful features that are incompatible with gnu89, and
gnu99/gnu11 support in gcc didn't like the kernel sources]
+1 for raising the tree-wide minimum (again!). We actually have a bunch
of work-arounds for 4.9 bugs we can get rid of as well.
We even just added another one for arm64 KVM! [1]

So yes, I'm in favour of leaving gcc 4.9 to rot as well, especially after
this ext4 debugging experience.
Well, honestly, I'm always in favor of having people not use ancient
compilers, but both of the issues at hand do seem to be specific to
arm64.

The "gcc before 5.1 generates incorrect stack pointer writes on arm64"
sounds pretty much deadly, and I think means that yes, for arm64 we
simply need to require 5.1 or newer.

I also suspect there is much less reason to use old gcc's on arm64. I
can't imagine that people really run very old setups, Is some old RHEL
version even relevant for arm64?

So while I'd love to just say "everybody needs to make sure they have
an up-to-date compiler", my git feel is that at least with the current
crop of issues, there is little to really push us globally.

I appreciate Arnd pointing out "--std=gnu11", though. What are the
actual relevant language improvements?

Variable declarations in for-loops is the only one I can think of. I
think that would clean up some code (and some macros), but might not
be compelling on its own.

               Linus

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help