• Linus Torvalds's avatar
    Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e75c73ad
    Linus Torvalds authored
    Pull x86 FPU updates from Ingo Molnar:
     "This tree contains two main changes:
    
       - The big FPU code rewrite: wide reaching cleanups and reorganization
         that pulls all the FPU code together into a clean base in
         arch/x86/fpu/.
    
         The resulting code is leaner and faster, and much easier to
         understand.  This enables future work to further simplify the FPU
         code (such as removing lazy FPU restores).
    
         By its nature these changes have a substantial regression risk: FPU
         code related bugs are long lived, because races are often subtle
         and bugs mask as user-space failures that are difficult to track
         back to kernel side backs.  I'm aware of no unfixed (or even
         suspected) FPU related regression so far.
    
       - MPX support rework/fixes.  As this is still not a released CPU
         feature, there were some buglets in the code - should be much more
         robust now (Dave Hansen)"
    
    * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (250 commits)
      x86/fpu: Fix double-increment in setup_xstate_features()
      x86/mpx: Allow 32-bit binaries on 64-bit kernels again
      x86/mpx: Do not count MPX VMAs as neighbors when unmapping
      x86/mpx: Rewrite the unmap code
      x86/mpx: Support 32-bit binaries on 64-bit kernels
      x86/mpx: Use 32-bit-only cmpxchg() for 32-bit apps
      x86/mpx: Introduce new 'directory entry' to 'addr' helper function
      x86/mpx: Add temporary variable to reduce masking
      x86: Make is_64bit_mm() widely available
      x86/mpx: Trace allocation of new bounds tables
      x86/mpx: Trace the attempts to find bounds tables
      x86/mpx: Trace entry to bounds exception paths
      x86/mpx: Trace #BR exceptions
      x86/mpx: Introduce a boot-time disable flag
      x86/mpx: Restrict the mmap() size check to bounds tables
      x86/mpx: Remove redundant MPX_BNDCFG_ADDR_MASK
      x86/mpx: Clean up the code by not passing a task pointer around when unnecessary
      x86/mpx: Use the new get_xsave_field_ptr()API
      x86/fpu/xstate: Wrap get_xsave_addr() to make it safer
      x86/fpu/xstate: Fix up bad get_xsave_addr() assumptions
      ...
    e75c73ad
common.c 35.4 KB