Messages in this thread |  | | From | Brian Gerst <> | Date | Sat, 21 Jan 2023 16:47:48 -0500 | Subject | Re: the x86 sysret_rip test fails on the Intel FRED architecture |
| |
On Sat, Jan 21, 2023 at 12:34 PM Dave Hansen <dave.hansen@intel.com> wrote: > > On 1/20/23 20:59, H. Peter Anvin wrote: > >> If not intentional, it might be something that can still be fixed. > >> If it is intentional and is going to be with us for a while we have > >> a few options. If userspace is _really_ depending on this > >> behavior, we could just clobber r11 ourselves in the FRED entry > >> path. If not, we can remove the assertion in the selftest. > > We can't clobber it in the FRED entry path, since it is common for > > all events, but we could do it in the syscall dispatch. > > > > However, it doesn't seem to make sense to do so to me. The current > > behavior is much more of an artifact than desired behavior. > I guess the SDM statements really are for the kernel's benefit and not > for userspace. Userspace _should_ be treating SYSCALL like a CALL and > r11 like any old register that can be clobbered. Right now, the kernel > just happens to clobber it with RFLAGS. > > I do the the odds of anyone relying on this behavior are pretty small. > Let's just zap the check from the selftest, document what we did in the > FRED docs and changelog and move on.
Keep the selftest check, but also accept preserved RCX/R11. What really matters is that the kernel isn't leaking data.
-- Brian Gerst
|  |