• Dave Hansen's avatar
    x86/mm/mpx: Work around MPX erratum SKD046 · 0f6ff2bc
    Dave Hansen authored
    This erratum essentially causes the CPU to forget which privilege
    level it is operating on (kernel vs. user) for the purposes of MPX.
    
    This erratum can only be triggered when a system is not using
    Supervisor Mode Execution Prevention (SMEP).  Our workaround for
    the erratum is to ensure that MPX can only be used in cases where
    SMEP is present in the processor and is enabled.
    
    This erratum only affects Core processors.  Atom is unaffected.
    But, there is no architectural way to determine Atom vs. Core.
    So, we just apply this workaround to all processors.  It's
    possible that it will mistakenly disable MPX on some Atom
    processsors or future unaffected Core processors.  There are
    currently no processors that have MPX and not SMEP.  It would
    take something akin to a hypervisor masking SMEP out on an Atom
    processor for this to present itself on current hardware.
    
    More details can be found at:
    
      http://www.intel.com/content/dam/www/public/us/en/documents/specification-up...
    0f6ff2bc
bugs.h 454 Bytes