From: Andrey Konovalov <andreyknvl@google.com>
To: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>,
Vincenzo Frascino <vincenzo.frascino@arm.com>,
Dmitry Vyukov <dvyukov@google.com>,
Andrey Ryabinin <aryabinin@virtuozzo.com>,
Alexander Potapenko <glider@google.com>,
Marco Elver <elver@google.com>,
Evgenii Stepanov <eugenis@google.com>,
Branislav Rankov <Branislav.Rankov@arm.com>,
Kevin Brodsky <kevin.brodsky@arm.com>,
Andrew Morton <akpm@linux-foundation.org>,
kasan-dev <kasan-dev@googlegroups.com>,
Linux ARM <linux-arm-kernel@lists.infradead.org>,
Linux Memory Management List <linux-mm@kvack.org>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v8 30/43] arm64: kasan: Allow enabling in-kernel MTE
Date: Thu, 5 Nov 2020 19:09:58 +0100 [thread overview]
Message-ID: <CAAeHK+wOyPYP=BkhratZwR=NKyzLWzwTTbyGtqQ75tJyM1D=rg@mail.gmail.com> (raw)
In-Reply-To: <20201105173901.GH30030@gaia>
On Thu, Nov 5, 2020 at 6:39 PM Catalin Marinas <catalin.marinas@arm.com> wrote:
>
> On Thu, Nov 05, 2020 at 06:29:17PM +0100, Andrey Konovalov wrote:
> > On Thu, Nov 5, 2020 at 6:26 PM Catalin Marinas <catalin.marinas@arm.com> wrote:
> > >
> > > On Thu, Nov 05, 2020 at 12:18:45AM +0100, Andrey Konovalov wrote:
> > > > diff --git a/arch/arm64/kernel/mte.c b/arch/arm64/kernel/mte.c
> > > > index 06ba6c923ab7..fcfbefcc3174 100644
> > > > --- a/arch/arm64/kernel/mte.c
> > > > +++ b/arch/arm64/kernel/mte.c
> > > > @@ -121,6 +121,13 @@ void *mte_set_mem_tag_range(void *addr, size_t size, u8 tag)
> > > > return ptr;
> > > > }
> > > >
> > > > +void __init mte_init_tags(u64 max_tag)
> > > > +{
> > > > + /* Enable MTE Sync Mode for EL1. */
> > > > + sysreg_clear_set(sctlr_el1, SCTLR_ELx_TCF_MASK, SCTLR_ELx_TCF_SYNC);
> > > > + isb();
> > > > +}
> > >
> > > Is this going to be called on each CPU? I quickly went through the rest
> > > of the patches and couldn't see how.
> >
> > Yes, on each CPU. This is done via kasan_init_hw_tags() that is called
> > from cpu_enable_mte(). This change is added in the "kasan, arm64:
> > implement HW_TAGS runtime".
>
> Ah, I got there eventually in patch 38. Too many indirections ;) (I'm
> sure we could have trimmed them down a bit, hw_init_tags ==
> arch_init_tags == mte_init_tags).
The idea with these indirections was to make hw_tags.c to not directly
call MTE stuff and abstract away the underlying memory tagging
implementation. We won't know for sure how fitting these abstractions
are before we add another memory tagging implementation though :)
> > Would it make sense to put it into a separate patch?
>
> I think that's fine. I had the impression that kasan_init_hw_tags()
> should only be called once.
This was the case before, but not anymore. I've also added a comment
before the kasan_init_hw_tags() definition.
next prev parent reply other threads:[~2020-11-05 18:10 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1604531793.git.andreyknvl@google.com>
[not found] ` <5e3c76cac4b161fe39e3fc8ace614400bc2fb5b1.1604531793.git.andreyknvl@google.com>
2020-11-05 11:16 ` Vincenzo Frascino
2020-11-05 11:35 ` Andrey Konovalov
2020-11-05 11:42 ` Vincenzo Frascino
2020-11-05 12:14 ` Andrey Konovalov
2020-11-05 14:17 ` Vincenzo Frascino
2020-11-05 17:27 ` Andrey Konovalov
2020-11-05 17:25 ` Catalin Marinas
2020-11-05 17:29 ` Andrey Konovalov
2020-11-05 17:39 ` Catalin Marinas
2020-11-05 18:09 ` Andrey Konovalov [this message]
2020-11-06 11:11 ` Vincenzo Frascino
[not found] ` <fc9e96c022a147120b67056525362abb43b2a0ce.1604531793.git.andreyknvl@google.com>
2020-11-05 15:59 ` [PATCH v8 28/43] arm64: mte: Reset the page tag in page->flags Catalin Marinas
2020-11-06 11:46 ` Vincenzo Frascino
[not found] ` <eb6ecc9ca7d4dfa653fce0012bd1651e157638e8.1604531793.git.andreyknvl@google.com>
2020-11-05 15:59 ` [PATCH v8 17/43] kasan, arm64: move initialization message Catalin Marinas
[not found] ` <f931d074bccbdf96ad91a34392d009fece081f59.1604531793.git.andreyknvl@google.com>
2020-11-05 16:00 ` [PATCH v8 18/43] kasan, arm64: rename kasan_init_tags and mark as __init Catalin Marinas
[not found] ` <a540ab7b9e3b908e0f4cd94c963a0cc6bb4e7d3f.1604531793.git.andreyknvl@google.com>
2020-11-05 16:57 ` [PATCH v8 29/43] arm64: mte: Add in-kernel tag fault handler Catalin Marinas
[not found] ` <5d9ece04df8e9d60e347a2f6f96b8c52316bfe66.1604531793.git.andreyknvl@google.com>
2020-11-05 17:30 ` [PATCH v8 32/43] arm64: mte: Switch GCR_EL1 in kernel entry and exit Catalin Marinas
2020-11-05 17:33 ` Andrey Konovalov
2020-11-05 17:42 ` Catalin Marinas
[not found] ` <12faf1f7dc2d3f672f856e141dd9542e8a7cc7c1.1604531793.git.andreyknvl@google.com>
2020-11-05 17:32 ` [PATCH v8 37/43] kasan, arm64: expand CONFIG_KASAN checks Catalin Marinas
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='CAAeHK+wOyPYP=BkhratZwR=NKyzLWzwTTbyGtqQ75tJyM1D=rg@mail.gmail.com' \
--to=andreyknvl@google.com \
--cc=Branislav.Rankov@arm.com \
--cc=akpm@linux-foundation.org \
--cc=aryabinin@virtuozzo.com \
--cc=catalin.marinas@arm.com \
--cc=dvyukov@google.com \
--cc=elver@google.com \
--cc=eugenis@google.com \
--cc=glider@google.com \
--cc=kasan-dev@googlegroups.com \
--cc=kevin.brodsky@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=vincenzo.frascino@arm.com \
--cc=will.deacon@arm.com \
/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