|
Message-ID: <20170302112032.GC19632@leverpostej> Date: Thu, 2 Mar 2017 11:20:32 +0000 From: Mark Rutland <mark.rutland@....com> To: Kees Cook <keescook@...omium.org> Cc: Andy Lutomirski <luto@...capital.net>, "kernel-hardening@...ts.openwall.com" <kernel-hardening@...ts.openwall.com>, Andy Lutomirski <luto@...nel.org>, Hoeun Ryu <hoeun.ryu@...il.com>, PaX Team <pageexec@...email.hu>, Emese Revfy <re.emese@...il.com>, Russell King <linux@...linux.org.uk>, X86 ML <x86@...nel.org> Subject: Re: [RFC][PATCH 4/8] x86: Implement __arch_rare_write_map/unmap() On Wed, Mar 01, 2017 at 12:25:11PM -0800, Kees Cook wrote: > On Wed, Mar 1, 2017 at 3:24 AM, Mark Rutland <mark.rutland@....com> wrote: > > There is no global override of this sort on arm64. Just having map/unap, > > open/close, shed/unshed, etc, won't work. > > > > The options I can think of for arm64 are: > > > > * Have a separate RW alias of just the write_rarely data, that we > > temporarily map-in on a given CPU (using TTBR0) to perform the write. > > The RW alias is at a different VA to the usual RO alias, so we have to > > convert each pointer to its RW alias to perform the write. That's why > > we need __rare_write_ptr() to hide this, and can't have uninstrumented > > writes. > > I think only the list code isn't instrumented, and that's just because > it discards casts outside the function. There's no reason it couldn't > be instrumented. Ok, it sounds like we could make this work, then. > > Since this would *only* map the write_rarely data, it's simple to set > > up, and we don't need to modify the tables at runtime. > > > > I also think we can implement this generically using switch_mm() and > > {get,put}_user(), or specialised variants thereof. > > > > Assuming we can figure out how to handle those complex cases, this is > > my preferred solution. :) > > Would this alias be CPU-local? (I assume yes, given the "give up on on > being per-cpu" option below..) Yes, this would be CPU-local. It would be like mapping the idmap, or userspace. Thanks, Mark.
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.