From: Szabolcs Nagy <szabolcs.nagy@arm•com>
To: Catalin Marinas <catalin.marinas@arm•com>
Cc: linux-arch@vger•kernel.org, nd@arm•com,
Will Deacon <will@kernel•org>,
Andrey Konovalov <andreyknvl@google•com>,
Kevin Brodsky <kevin.brodsky@arm•com>,
linux-mm@kvack•org, Andrew Morton <akpm@linux-foundation•org>,
Vincenzo Frascino <vincenzo.frascino@arm•com>,
Peter Collingbourne <pcc@google•com>,
Dave Martin <Dave.Martin@arm•com>,
linux-arm-kernel@lists•infradead.org
Subject: Re: [PATCH v7 29/29] arm64: mte: Add Memory Tagging Extension documentation
Date: Mon, 3 Aug 2020 13:43:10 +0100 [thread overview]
Message-ID: <20200803124309.GC14398@arm.com> (raw)
In-Reply-To: <20200728195957.GA31698@gaia>
The 07/28/2020 20:59, Catalin Marinas wrote:
> On Tue, Jul 28, 2020 at 03:53:51PM +0100, Szabolcs Nagy wrote:
> > if linux does not want to add a per process
> > setting then only libc will be able to opt-in
> > to mte and only at very early in the startup
> > process (before executing any user code that
> > may start threads). this is not out of question,
> > but i think it limits the usage and deployment
> > options.
>
> There is also the risk that we try to be too flexible at this stage
> without a real use-case.
i don't know how mte will be turned on in libc.
if we can always turn sync tag checks on early
whenever mte is available then i think there is
no issue.
but if we have to make the decision later for
compatibility or performance reasons then per
thread setting is problematic.
use of the prctl outside of libc is very limited
if it's per thread only:
- application code may use it in a (elf specific)
pre-initialization function, but that's a bit
obscure (not exposed in c) and it is reasonable
for an application to enable mte checks after
it registered a signal handler for mte faults.
(and at that point it may be multi-threaded).
- library code normally initializes per thread
state on the first call into the library from a
given thread, but with mte, as soon as memory /
pointers are tagged in one thread, all threads
are affected: not performing checks in other
threads is less secure (may be ok) and it means
incompatible syscall abi (not ok). so at least
PR_TAGGED_ADDR_ENABLE should have process wide
setting for this usage.
but i guess it is fine to design the mechanism
for these in a later linux version, until then
such usage will be unreliable (will depend on
how early threads are created).
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists•infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-08-03 12:44 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20200715170844.30064-1-catalin.marinas@arm.com>
[not found] ` <20200715170844.30064-30-catalin.marinas@arm.com>
2020-07-27 16:36 ` [PATCH v7 29/29] arm64: mte: Add Memory Tagging Extension documentation Szabolcs Nagy
2020-07-28 11:08 ` Dave Martin
2020-07-28 14:53 ` Szabolcs Nagy
2020-07-28 19:59 ` Catalin Marinas
2020-08-03 12:43 ` Szabolcs Nagy [this message]
2020-08-07 15:19 ` Catalin Marinas
2020-08-10 14:13 ` Szabolcs Nagy
2020-08-11 17:20 ` Catalin Marinas
2020-08-12 12:45 ` Szabolcs Nagy
2020-08-19 9:54 ` Catalin Marinas
2020-08-20 16:43 ` Szabolcs Nagy
2020-08-20 17:27 ` Paul Eggert
2020-08-22 11:31 ` Catalin Marinas
2020-08-22 11:28 ` Catalin Marinas
[not found] ` <20200715170844.30064-19-catalin.marinas@arm.com>
2020-07-20 15:30 ` [PATCH v7 18/29] arm64: mte: Allow user control of the tag check mode via prctl() Kevin Brodsky
2020-07-20 17:00 ` Dave Martin
2020-07-22 10:28 ` Catalin Marinas
2020-07-23 19:33 ` Kevin Brodsky
2020-07-22 11:09 ` Catalin Marinas
2020-08-04 19:34 ` Kevin Brodsky
2020-08-05 9:24 ` Catalin Marinas
[not found] ` <20200715170844.30064-23-catalin.marinas@arm.com>
2020-08-13 14:01 ` [PATCH v7 22/29] arm64: mte: ptrace: Add PTRACE_{PEEK,POKE}MTETAGS support Luis Machado
2020-08-22 10:56 ` 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=20200803124309.GC14398@arm.com \
--to=szabolcs.nagy@arm$(echo .)com \
--cc=Dave.Martin@arm$(echo .)com \
--cc=akpm@linux-foundation$(echo .)org \
--cc=andreyknvl@google$(echo .)com \
--cc=catalin.marinas@arm$(echo .)com \
--cc=kevin.brodsky@arm$(echo .)com \
--cc=linux-arch@vger$(echo .)kernel.org \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
--cc=linux-mm@kvack$(echo .)org \
--cc=nd@arm$(echo .)com \
--cc=pcc@google$(echo .)com \
--cc=vincenzo.frascino@arm$(echo .)com \
--cc=will@kernel$(echo .)org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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