Messages in this thread | | | From | Andy Lutomirski <> | Date | Thu, 25 Jan 2018 13:02:25 -0800 | Subject | Re: [PATCH] x86/retpoline/entry: Disable the entire SYSCALL64 fast path with retpolines on |
| |
On Thu, Jan 25, 2018 at 10:48 AM, Linus Torvalds <torvalds@linux-foundation.org> wrote: > On Mon, Jan 22, 2018 at 10:55 AM, Linus Torvalds > <torvalds@linux-foundation.org> wrote: >> >> Honestly, I'd rather get rid of the fast-path entirely. Compared to >> all the PTI mess, it's not even noticeable. > > So I looked at how that would be. > > Patch attached. Not really "tested", but I'm running the kernel with > this patch now, and 'strace' etc works, and honestly, it seems very > obvious. > > Also, code generation for 'do_syscall_64()' does not look horrible. In > fact, it doesn't look all that much worse than the fast-path ever did. > > So the biggest impact of this is the extra register saves > (SAVE_EXTRA_REGS) from setting up the full ptregs. And honestly, I > hate how that stupid macro still uses "movq reg,off(%rsp)" instead of > "pushq %reg". > > Considering the diffstat: > > 2 files changed, 2 insertions(+), 121 deletions(-) > > and how those 100+ lines are nasty assembly code, I do think we should > just do it.
Feel free to Acked-by: Andy Lutomirski <luto@kernel.org> that patch.
Or I can grab it and send it to -tip.
Re: the trampoline not showing up: if I find some time, I'll try to wire it up correctly in kallsyms.
--Andy
| |