|
Message-ID: <20171211092645.hv6m2jbycdvmfqo6@hirez.programming.kicks-ass.net> Date: Mon, 11 Dec 2017 10:26:45 +0100 From: Peter Zijlstra <peterz@...radead.org> To: Alexander Popov <alex.popov@...ux.com> Cc: kernel-hardening@...ts.openwall.com, Kees Cook <keescook@...omium.org>, PaX Team <pageexec@...email.hu>, Brad Spengler <spender@...ecurity.net>, Ingo Molnar <mingo@...nel.org>, Andy Lutomirski <luto@...nel.org>, Tycho Andersen <tycho@...ho.ws>, Laura Abbott <labbott@...hat.com>, Mark Rutland <mark.rutland@....com>, Ard Biesheuvel <ard.biesheuvel@...aro.org>, Borislav Petkov <bp@...en8.de>, Thomas Gleixner <tglx@...utronix.de>, "H . Peter Anvin" <hpa@...or.com>, x86@...nel.org Subject: Re: [PATCH RFC v6 1/6] x86/entry: Add STACKLEAK erasing the kernel stack at the end of syscalls On Sat, Dec 09, 2017 at 12:54:21AM +0300, Alexander Popov wrote: > Hello Peter, > > On 08.12.2017 14:44, Peter Zijlstra wrote: > > On Wed, Dec 06, 2017 at 02:33:42AM +0300, Alexander Popov wrote: > >> The STACKLEAK feature erases the kernel stack before returning from > >> syscalls. That reduces the information which kernel stack leak bugs can > >> reveal and blocks some uninitialized stack variable attacks. Moreover, > >> STACKLEAK provides runtime checks for kernel stack overflow detection. > >> > >> This commit introduces the architecture-specific code filling the used > >> part of the kernel stack with a poison value before returning to the > >> userspace. Full STACKLEAK feature also contains the gcc plugin which > >> comes in a separate commit. > > > > Have you looked at the entry rework in this series: > > > > https://lkml.kernel.org/r/20171204140706.296109558@linutronix.de > > Thanks for the link. I briefly looked through WIP.x86/pti branch. Should I > rebase STACKLEAK patch series onto it? Probably a good idea; the tail end of that series is still somewhat in flux but the entry rework is fairly stable at this point. > Although I don't fully understand some of the commits, I can suppose that > STACKLEAK stack erasing must be modified because of this trampoline stack > introduction: > https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?h=WIP.x86/pti&id=813b4125a835f2eb9aa6fb08dac0bc8eeadd69a1 > > Am I right? Are there other changes which I should consider? You're right; the trampoline stack is what I was thinking of. You can run the erase thing when we're on the trampoline back out. > May I also ask for your feedback on this version of the STACKLEAK patch series? I meant to have a look, but have not yet found the time for it, its on the todo list. Thanks!
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.