From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andy Lutomirski <luto@kernel.org>,
the arch/x86 maintainers <x86@kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Alan Cox <alan@linux.intel.com>, Jann Horn <jannh@google.com>,
Samuel Neves <samuel.c.p.neves@gmail.com>,
Dan Williams <dan.j.williams@intel.com>,
Kernel Hardening <kernel-hardening@lists.openwall.com>,
Borislav Petkov <bp@alien8.de>
Subject: Re: [PATCH] x86/retpoline/entry: Disable the entire SYSCALL64 fast path with retpolines on
Date: Tue, 23 Jan 2018 09:01:01 +0100 [thread overview]
Message-ID: <20180123080101.7udtt6wdl6jpglwa@gmail.com> (raw)
In-Reply-To: <CA+55aFwcU_hHz+S9ZDphBDRQLw6pMsd+6Yp_=mQA8kTcmTzWcQ@mail.gmail.com>
* Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Mon, Jan 22, 2018 at 10:04 AM, Andy Lutomirski <luto@kernel.org> wrote:
> > The existing retpoline code carefully and awkwardly retpolinifies
> > the SYSCALL64 slow path. This stops the fast path from being
> > particularly fast, and it's IMO rather messy.
>
> I'm not convinced your patch isn't messier still.. It's certainly
> subtle. I had to look at that ptregs stub generator thing twice.
>
> Honestly, I'd rather get rid of the fast-path entirely. Compared to
> all the PTI mess, it's not even noticeable.
>
> And if we ever get CPU's that have this all fixed, we can re-visit
> introducing the fastpath. But this is all very messy and it doesn't
> seem worth it right now.
>
> If we get rid of the fastpath, we can lay out the slow path slightly
> better, and get rid of some of those jump-overs. And we'd get rid of
> the ptregs hooks entirely.
>
> So we can try to make the "slow" path better while at it, but I really
> don't think it matters much now in the post-PTI era. Sadly.
Note that there's another advantage to your proposal: should other vulnerabilities
arise in the future, requiring changes in the syscall entry path, we'd be more
flexible to address them in the C space than in the assembly space.
In hindsight a _LOT_ of the PTI complexity and fragility centered around
interacting with x86 kernel entry assembly code - which entry code fortunately got
much simpler (and easier to review) in the past 1-2 years due to the thorough
cleanups and the conversion of most of it to C. But it was still painful.
So I'm fully in favor of that.
Thanks,
Ingo
next prev parent reply other threads:[~2018-01-23 8:01 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-22 18:04 Andy Lutomirski
2018-01-22 18:55 ` Linus Torvalds
2018-01-23 8:01 ` Ingo Molnar [this message]
2018-01-23 18:36 ` Alan Cox
2018-01-25 18:48 ` Linus Torvalds
2018-01-25 19:16 ` [kernel-hardening] " Linus Torvalds
2018-01-25 20:04 ` Brian Gerst
2018-01-25 20:54 ` Linus Torvalds
2018-01-25 21:02 ` Andy Lutomirski
2018-01-25 21:05 ` Thomas Gleixner
2018-01-25 21:06 ` Linus Torvalds
2018-01-25 21:08 ` Andy Lutomirski
2018-01-25 21:20 ` Linus Torvalds
2018-01-25 21:31 ` Andy Lutomirski
2018-01-25 21:39 ` Dan Williams
2018-01-25 21:53 ` Andy Lutomirski
2018-01-25 21:53 ` Linus Torvalds
2018-01-26 11:17 ` David Laight
2018-01-26 14:24 ` Alan Cox
2018-01-26 15:57 ` Andy Lutomirski
2018-01-26 17:40 ` Linus Torvalds
2018-01-26 18:07 ` Al Viro
2018-01-26 18:13 ` Linus Torvalds
2018-01-26 18:23 ` Andy Lutomirski
2018-01-26 18:54 ` Linus Torvalds
2018-01-26 19:02 ` Andy Lutomirski
2018-01-29 13:19 ` Will Deacon
2018-01-29 15:23 ` David Laight
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=20180123080101.7udtt6wdl6jpglwa@gmail.com \
--to=mingo@kernel.org \
--cc=alan@linux.intel.com \
--cc=bp@alien8.de \
--cc=dan.j.williams@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=jannh@google.com \
--cc=kernel-hardening@lists.openwall.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=samuel.c.p.neves@gmail.com \
--cc=torvalds@linux-foundation.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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
Powered by JetHome