Thread (23 messages) 23 messages, 4 authors, 2021-02-10

Re: [RFC PATCH 4/8] mm: Separate fault info out of 'struct vm_fault'

From: Will Deacon <will@kernel.org>
Date: 2021-01-15 09:24:31
Also in: linux-arm-kernel, lkml

On Thu, Jan 14, 2021 at 01:11:12PM -0800, Linus Torvalds wrote:
On Thu, Jan 14, 2021 at 11:41 AM Will Deacon [off-list ref] wrote:
quoted
Sure enough, an arm64 defconfig builds perfectly alright with that change,
but it really shouldn't. I'm using clang 11.0.5, so I had another go with
GCC 9.2.1 and bang:
Ok, looks like a clang bug, but a reasonably benign one.

As long as we have sufficient coverage with gcc, we'll get error
reporting in a timely manner for any new incorrect assignments, so I
think we can do that constant anonymous struct even if it does mean
that clang might let some bad cases through (I personally use gcc for
build testing, and then clang for building my boot kernels, so I'd
catch anything x86-64 allmodconfig in my build tests).

And keeping it unnamed it would avoid a lot of noisy churn..
Hmm. The feedback on the clang bug suggests that GCC is the one in the
wrong here (although the argument is based on C11 and I haven't trawled
through the standards to see how this has evolved):

https://bugs.llvm.org/show_bug.cgi?id=48755#c1

There is at least some sympathy to generating a warning, so that might
be good enough. Otherwise, I suppose we can explicitly mark the fields
as 'const' but I won't jump to that immediately.

Will
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help