Skip to content
  • Fenghua Yu's avatar
    x86, cpu: Enable/disable Supervisor Mode Execution Protection · de5397ad
    Fenghua Yu authored
    
    
    Enable/disable newly documented SMEP (Supervisor Mode Execution Protection) CPU
    feature in kernel. CR4.SMEP (bit 20) is 0 at power-on. If the feature is
    supported by CPU (X86_FEATURE_SMEP), enable SMEP by setting CR4.SMEP. New kernel
    option nosmep disables the feature even if the feature is supported by CPU.
    
    [ hpa: moved the call to setup_smep() until after the vendor-specific
      initialization; that ensures that CPUID features are unmasked.  We
      will still run it before we have userspace (never mind uncontrolled
      userspace). ]
    
    Signed-off-by: default avatarFenghua Yu <fenghua.yu@intel.com>
    LKML-Reference: <1305157865-31727-1-git-send-email-fenghua.yu@intel.com>
    Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
    de5397ad