Re: [PATCH v2 1/2] x86_64,entry: Filter RFLAGS.NT on entry from userspace

From: H. Peter Anvin
Date: Wed Oct 01 2014 - 11:20:35 EST


On 09/30/2014 10:24 PM, Andy Lutomirski wrote:
> On Tue, Sep 30, 2014 at 10:09 PM, Sebastian Lackner
> <sebastian@xxxxxxxxxxx> 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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/