Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190208142642.GJ32511@hirez.programming.kicks-ass.net>
Date: Fri, 8 Feb 2019 15:26:43 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: "Reshetova, Elena" <elena.reshetova@...el.com>
Cc: "kernel-hardening@...ts.openwall.com" <kernel-hardening@...ts.openwall.com>,
	"luto@...nel.org" <luto@...nel.org>,
	"tglx@...utronix.de" <tglx@...utronix.de>,
	"mingo@...hat.com" <mingo@...hat.com>,
	"bp@...en8.de" <bp@...en8.de>,
	"keescook@...omium.org" <keescook@...omium.org>,
	"tytso@....edu" <tytso@....edu>
Subject: Re: [RFC PATCH] x86/entry/64: randomize kernel stack offset upon
 system call

On Fri, Feb 08, 2019 at 01:20:09PM +0000, Reshetova, Elena wrote:
> > On Fri, Feb 08, 2019 at 02:15:49PM +0200, Elena Reshetova wrote:

> > 
> > Why can't we change the stack offset periodically from an interrupt or
> > so, and then have every later entry use that.
> 
> Hm... This sounds more complex conceptually - we cannot touch
> stack when it is in use, so we have to periodically probe for a 
> good time (when process is in userspace I guess) to change it from an interrupt?
> IMO trampoline stack provides such a good clean place for doing it and we
> have stackleak there doing stack cleanup, so would make sense to keep
> these features operating together.

The idea was to just change a per-cpu (possible per-task if you ctxsw
it) offset that is used on entry to offset the stack.

So only entries after the change will have the updated offset, any
in-progress syscalls will continue with their current offset and will be
unaffected.

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.