[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190528163400.GE32006@arrakis.emea.arm.com>
Date: Tue, 28 May 2019 17:34:00 +0100
From: Catalin Marinas <catalin.marinas@....com>
To: Dave Martin <Dave.Martin@....com>
Cc: Andrew Murray <andrew.murray@....com>,
Mark Rutland <mark.rutland@....com>, kvm@...r.kernel.org,
Christian Koenig <Christian.Koenig@....com>,
Szabolcs Nagy <Szabolcs.Nagy@....com>,
Will Deacon <will.deacon@....com>,
dri-devel@...ts.freedesktop.org, linux-mm@...ck.org,
Lee Smith <Lee.Smith@....com>, linux-kselftest@...r.kernel.org,
Vincenzo Frascino <vincenzo.frascino@....com>,
Jacob Bramley <Jacob.Bramley@....com>,
Leon Romanovsky <leon@...nel.org>, linux-rdma@...r.kernel.org,
amd-gfx@...ts.freedesktop.org,
linux-arm-kernel@...ts.infradead.org,
Evgeniy Stepanov <eugenis@...gle.com>,
linux-media@...r.kernel.org, Kees Cook <keescook@...omium.org>,
Ruben Ayrapetyan <Ruben.Ayrapetyan@....com>,
Andrey Konovalov <andreyknvl@...gle.com>,
Kevin Brodsky <kevin.brodsky@....com>,
Alex Williamson <alex.williamson@...hat.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Dmitry Vyukov <dvyukov@...gle.com>,
Kostya Serebryany <kcc@...gle.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Felix Kuehling <Felix.Kuehling@....com>,
linux-kernel@...r.kernel.org,
Jens Wiklander <jens.wiklander@...aro.org>,
Ramana Radhakrishnan <Ramana.Radhakrishnan@....com>,
Alexander Deucher <Alexander.Deucher@....com>,
Andrew Morton <akpm@...ux-foundation.org>,
Robin Murphy <robin.murphy@....com>,
Yishai Hadas <yishaih@...lanox.com>,
Luc Van Oostenryck <luc.vanoostenryck@...il.com>
Subject: Re: [PATCH v15 05/17] arms64: untag user pointers passed to memory
syscalls
On Tue, May 28, 2019 at 04:56:45PM +0100, Dave P Martin wrote:
> On Tue, May 28, 2019 at 04:40:58PM +0100, Catalin Marinas wrote:
>
> [...]
>
> > My thoughts on allowing tags (quick look):
> >
> > brk - no
>
> [...]
>
> > mlock, mlock2, munlock - yes
> > mmap - no (we may change this with MTE but not for TBI)
>
> [...]
>
> > mprotect - yes
>
> I haven't following this discussion closely... what's the rationale for
> the inconsistencies here (feel free to refer me back to the discussion
> if it's elsewhere).
_My_ rationale (feel free to disagree) is that mmap() by default would
not return a tagged address (ignoring MTE for now). If it gets passed a
tagged address or a "tagged NULL" (for lack of a better name) we don't
have clear semantics of whether the returned address should be tagged in
this ABI relaxation. I'd rather reserve this specific behaviour if we
overload the non-zero tag meaning of mmap() for MTE. Similar reasoning
for mremap(), at least on the new_address argument (not entirely sure
about old_address).
munmap() should probably follow the mmap() rules.
As for brk(), I don't see why the user would need to pass a tagged
address, we can't associate any meaning to this tag.
For the rest, since it's likely such addresses would have been tagged by
malloc() in user space, we should allow tagged pointers.
--
Catalin
Powered by blists - more mailing lists