Messages in this thread | | | Date | Wed, 01 Oct 2014 08:19:54 -0700 | From | "H. Peter Anvin" <> | Subject | Re: [PATCH v2 1/2] x86_64,entry: Filter RFLAGS.NT on entry from userspace |
| |
On 09/30/2014 10:24 PM, Andy Lutomirski wrote: > On Tue, Sep 30, 2014 at 10:09 PM, Sebastian Lackner > <sebastian@fds-team.de> wrote: >>> + testl $X86_EFLAGS_NT,EFLAGS(%rsp) /* saved EFLAGS match cpu */ >>> + jz 1f >>> + pushq_cfi $(X86_EFLAGS_IF|X86_EFLAGS_FIXED) >>> + popfq_cfi >>> +1: >>> + >> >> Do you think it makes sense to change the order here, so that no jump happens if >> NT is not set (which happens a bit more often, than the other way round)? Just a >> guess though, haven't measured if pipeline effects have such a big influence in this >> case. ;) >> > > It should be immeasurable in a tight loop, since it will predict > correctly almost every time. And, unless cfi state works across > .pushsection (does it?), getting the cfi annotations right will be > more complicated. >
It does, actually... otherwise it would be almost impossible to use in a lot of cases.
-hpa
| |