Re: [PATCH v4 8/8] mm: Mark anonymous struct field of 'struct vm_fault' as 'const'
From: Will Deacon <will@kernel.org>
Date: 2021-01-21 13:12:44
Also in:
linux-mm, lkml
On Wed, Jan 20, 2021 at 11:02:06AM -0800, Linus Torvalds wrote:
On Wed, Jan 20, 2021 at 10:27 AM Nick Desaulniers [off-list ref] wrote:quoted
Is there a difference between: [ const unnamed struct and individual const members ]Semantically? No. Syntactically the "group the const members together" is a lot cleaner, imho. Not just from a "just a single const" standpoint, but from a "code as documentation" standpoint. But I guess to avoid the clang issue, we could do the "mark individual fields" thing.
I'd prefer to wait until the bug against LLVM has been resolved before we try to work around anything. Although I couldn't find any other examples like this in the kernel, requiring all of the member fields to be marked as 'const' still feels pretty fragile to me; it's only a matter of time before new non-const fields get added, at which point the temptation for developers to remove 'const' from other fields when it gets in the way is pretty high. None of this is bullet-proof, of course, but if clang ends up emitting a warning (even if it's gated behind an option) then I think we're in a good place.
(It turns out that sparse gets this wrong too, so it's not just clang).
Adding Luc, as hopefully that's fixable. Will _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel