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

From: Andy Lutomirski
Date: Tue Sep 30 2014 - 18:33:47 EST


On Tue, Sep 30, 2014 at 3:27 PM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> On Tue, 30 Sep 2014, Andy Lutomirski wrote:
>> It would certainly be possible to clear NT and retry IRET if IRET
>> fails with NT set. This would have no overhead for anything relevant.
>> That would be this alternative from my 0/2 email:
>>
>> - Don't filter NT on sysenter. Instead, filter it on EFI entry
>> and modify the IRET code to retry without NT set if NT was set.
>>
>> Thomas hpa, etc: any thoughts?
>
> Filter it right away. That's solid and obvious. Anything else is just
> complex and prone for future brown paperbag failures.

Yeah, agreed. That's exactly what these patches do, although, if you
put them in -tip and want to keep the stable CC, it's probably worth
fixing the address (oops).

>
> We get the context switch benefit from it, so there is some
> compensation for the extra cycles.

If we ever want those cycles back, I bet that the compat sysenter path
could be trimmed down a lot. For example, I think that all of the
zero-extension stuff is unnecessary now that we have the magic syscall
wrappers for all (?) syscalls.

--Andy
--
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/