• H. Peter Anvin's avatar
    x86, smep, smap: Make the switching functions one-way · b2cc2a07
    H. Peter Anvin authored
    There is no fundamental reason why we should switch SMEP and SMAP on
    during early cpu initialization just to switch them off again.  Now
    with %eflags and %cr4 forced to be initialized to a clean state, we
    only need the one-way enable.  Also, make the functions inline to make
    them (somewhat) harder to abuse.
    
    This does mean that SMEP and SMAP do not get initialized anywhere near
    as early.  Even using early_param() instead of __setup() doesn't give
    us control early enough to do this during the early cpu initialization
    phase.  This seems reasonable to me, because SMEP and SMAP should not
    matter until we have userspace to protect ourselves from, but it does
    potentially make it possible for a bug involving a "leak of
    permissions to userspace" to get uncaught.
    Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
    b2cc2a07
common.c 32.6 KB