Re: [tip:x86/urgent] x86/entry/32: Add an ASM_CLAC to entry_SYSENTER_32

From: H. Peter Anvin
Date: Thu Feb 25 2016 - 01:27:05 EST


On 02/24/16 21:53, tip-bot for Andy Lutomirski wrote:
> Commit-ID: 04d1d281dcfe683a53cddfab8371fc8bb302b069
> Gitweb: http://git.kernel.org/tip/04d1d281dcfe683a53cddfab8371fc8bb302b069
> Author: Andy Lutomirski <luto@xxxxxxxxxx>
> AuthorDate: Tue, 23 Feb 2016 13:19:29 -0800
> Committer: Ingo Molnar <mingo@xxxxxxxxxx>
> CommitDate: Wed, 24 Feb 2016 08:43:04 +0100
>
> x86/entry/32: Add an ASM_CLAC to entry_SYSENTER_32
>
> Both before and after 5f310f739b4c ("x86/entry/32: Re-implement
> SYSENTER using the new C path"), we relied on a uaccess very early
> in the SYSENTER path to clear AC. After that change, though, we can
> potentially make it all the way into C code with AC set, which
> enlarges the attack surface for SMAP bypass by doing SYSENTER with
> AC set.
>
> Strengthen the SMAP protection by addding the missing ASM_CLAC right
> at the beginning.
>

Hmmm... this potentially adds a *lot* of unnecessary cycles to this
path. Could we reinstate the early uaccess?

-hpa