linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Will Deacon <will@kernel.org>
Cc: Jan Kara <jack@suse.cz>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Minchan Kim <minchan@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Nick Desaulniers <ndesaulniers@google.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Linux Memory Management List <linux-mm@kvack.org>,
	Vinayak Menon <vinmenon@codeaurora.org>,
	Hugh Dickins <hughd@google.com>,
	Luc Van Oostenryck <luc.vanoostenryck@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	kernel-team <kernel-team@android.com>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v4 8/8] mm: Mark anonymous struct field of 'struct vm_fault' as 'const'
Date: Fri, 22 Jan 2021 09:47:35 -0800	[thread overview]
Message-ID: <CAHk-=wgMR1-Syn8sPpZUXQVz_dnaeWB9SpmtUVKyLdfAqMryLQ@mail.gmail.com> (raw)
In-Reply-To: <20210121131101.GD22123@willie-the-truck>

On Thu, Jan 21, 2021 at 5:11 AM Will Deacon <will@kernel.org> wrote:
>
> > (It turns out that sparse gets this wrong too, so it's not just clang).
>
> Adding Luc, as hopefully that's fixable.

I had talked to Luc about this earlier, and he just sent out a fix for
sparse. It's not in the git repo yet, but it's coming.

Having looked at what sparse does, I suspect the clang behavior stems
from a similar approach to looking up unnamed struct/union members.

And the sparse fix was fairly straightforward: changing the _lookup_
is painful, because that's late and trying to fix types after-the-fact
is just not great. But just (recursively) modifying the type modifiers
at type parsing time for anonymous struct/union members is quite
straightforward, probably in clang too.

So honestly - I think the clang push-back was by somebody who thought
it would be nasty to fix, and who was thus actively trying to mis-read
the standards language.

I'm not willing to argue with compiler people who do standards
language weasel-wording (I've seen it before, my life is too short to
deal with those kinds of people), but maybe Nick is more used to deal
with clang people.

Nick - I suspect that the sparse type system model is different enough
from the clang one that the sparse patch is not really helpful as a
"look, this is how it was done in sparse, maybe clang can do something
similar", but I'll bounce it to you separately anyway just in case.
Maybe your clang knowledge means that you go "yeah, in clang that
function is called 'xyz', and we can do something very similar".

            Linus

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2021-01-22 17:49 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-20 17:36 [PATCH v4 0/8] Create 'old' ptes for faultaround mappings on arm64 with hardware access flag Will Deacon
2021-01-20 17:36 ` [PATCH v4 1/8] mm: Cleanup faultaround and finish_fault() codepaths Will Deacon
2021-01-20 17:36 ` [PATCH v4 2/8] mm: Allow architectures to request 'old' entries when prefaulting Will Deacon
2021-01-20 17:36 ` [PATCH v4 3/8] arm64: mm: Implement arch_wants_old_prefaulted_pte() Will Deacon
2021-01-20 17:36 ` [PATCH v4 4/8] mm: Move immutable fields of 'struct vm_fault' into anonymous struct Will Deacon
2021-01-20 18:13   ` Nick Desaulniers
2021-01-21 12:48     ` Will Deacon
2021-01-20 17:36 ` [PATCH v4 5/8] mm: Pass 'address' to map to do_set_pte() and drop FAULT_FLAG_PREFAULT Will Deacon
2021-01-20 17:36 ` [PATCH v4 6/8] mm: Avoid modifying vmf.address in __collapse_huge_page_swapin() Will Deacon
2021-01-20 17:36 ` [PATCH v4 7/8] mm: Use static initialisers for immutable fields of 'struct vm_fault' Will Deacon
2021-01-20 18:21   ` Nick Desaulniers
2021-01-21 12:50     ` Will Deacon
2021-01-20 17:36 ` [PATCH v4 8/8] mm: Mark anonymous struct field of 'struct vm_fault' as 'const' Will Deacon
2021-01-20 18:27   ` Nick Desaulniers
2021-01-20 19:02     ` Linus Torvalds
2021-01-21 13:11       ` Will Deacon
2021-01-21 19:24         ` Nick Desaulniers
2021-01-21 21:28           ` Will Deacon
2021-01-22 19:10             ` Nick Desaulniers
2021-01-22 19:27               ` Will Deacon
2021-01-22 17:47         ` Linus Torvalds [this message]
2021-01-26 23:08 ` [PATCH v4 0/8] Create 'old' ptes for faultaround mappings on arm64 with hardware access flag Will Deacon
2021-01-26 23:28   ` Hugh Dickins
2021-01-27 17:16     ` Will Deacon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAHk-=wgMR1-Syn8sPpZUXQVz_dnaeWB9SpmtUVKyLdfAqMryLQ@mail.gmail.com' \
    --to=torvalds@linux-foundation.org \
    --cc=akpm@linux-foundation.org \
    --cc=catalin.marinas@arm.com \
    --cc=hughd@google.com \
    --cc=jack@suse.cz \
    --cc=kernel-team@android.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=luc.vanoostenryck@gmail.com \
    --cc=minchan@kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=vinmenon@codeaurora.org \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).