Messages in this thread | | | From | Linus Torvalds <> | Date | Thu, 25 Jan 2018 13:53:53 -0800 | Subject | Re: [PATCH] x86/retpoline/entry: Disable the entire SYSCALL64 fast path with retpolines on |
| |
On Thu, Jan 25, 2018 at 1:39 PM, Dan Williams <dan.j.williams@intel.com> wrote: > > If you're rejiggering, can we also put in a mechanism for detecting > which registers to clear so that userspace can't inject useful values > into speculation paths?
That actually becomes trivial with just the "no fastpath" patch I sent out. You can just clear all of them.
Sure, then do_syscall_64() will reload the six first ones, but since those are the argument registers anyway, and since they are caller-clobbered, they have very short lifetimes. So it would effectively not really be an issue.
But yes, SYSCALL_DEFINEx() rejiggery would close even that tiny hole.
Linus
| |