Messages in this thread | | | From | Andy Lutomirski <> | Date | Thu, 23 Apr 2015 08:41:15 -0700 | Subject | Re: [PATCH] x86/asm/entry/64: better check for canonical address |
| |
On Thu, Apr 23, 2015 at 8:10 AM, Borislav Petkov <bp@alien8.de> wrote: > On Tue, Apr 21, 2015 at 11:08:42AM -0700, Andy Lutomirski wrote: >> I'll take a full implementation of what Intel says over probably >> unmeasurable performance. If anyone in the AMD camp really cared, we >> could add X86_BUG_SYSRET_NEEDS_CANONICAL_RCX and use alternatives to >> patch this out on AMD. I doubt this would buy us much. > > Err, why do we care if RCX is canonical when executing SYSRET? > > The RIP canonicalness test is being done anyway and we read RIP from > RCX. What am I missing?
I was rather vague there. Let me try again:
If anyone in the AMD camp really cared, we could add a new bug flag X86_BUG_SYSRET_NEEDS_CANONICAL_RCX and set it on Intel chips only, so we could use alternatives to patch out the check when running on sensible AMD hardware. This would speed the slow path up by a couple of cycles on AMD chips.
Does that make more sense? We could call it X86_BUG_SYSRET_NEEDS_CANONICAL_RIP if that makes more sense.
--Andy
| |