• Linus Torvalds's avatar
    Merge branch 'x86/pti' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · eac34119
    Linus Torvalds authored
    Pull x86 PTI updates from Thomas Gleixner:
     "The Speck brigade sadly provides yet another large set of patches
      destroying the perfomance which we carefully built and preserved
    
       - PTI support for 32bit PAE. The missing counter part to the 64bit
         PTI code implemented by Joerg.
    
       - A set of fixes for the Global Bit mechanics for non PCID CPUs which
         were setting the Global Bit too widely and therefore possibly
         exposing interesting memory needlessly.
    
       - Protection against userspace-userspace SpectreRSB
    
       - Support for the upcoming Enhanced IBRS mode, which is preferred
         over IBRS. Unfortunately we dont know the performance impact of
         this, but it's expected to be less horrible than the IBRS
         hammering.
    
       - Cleanups and simplifications"
    
    * 'x86/pti' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (60 commits)
      x86/mm/pti: Move user W+X check into pti_finalize()
      x86/relocs: Add __end_rodata_aligned to S_REL
      x86/mm/pti: Clone kernel-image on PTE level for 32 bit
      x86/mm/pti: Don't clear permissions in pti_clone_pmd()
      x86/mm/pti: Fix 32 bit PCID check
      x86/mm/init: Remove freed kernel image areas from alias mapping
      x86/mm/init: Add helper for freeing kernel image pages
      x86/mm/init: Pass unconverted symbol addresses to free_init_pages()
      mm: Allow non-direct-map arguments to free_reserved_area()
      x86/mm/pti: Clear Global bit more aggressively
      x86/speculation: Support Enhanced IBRS on future CPUs
      x86/speculation: Protect against userspace-userspace spectreRSB
      x86/kexec: Allocate 8k PGDs for PTI
      Revert "perf/core: Make sure the ring-buffer is mapped in all page-tables"
      x86/mm: Remove in_nmi() warning from vmalloc_fault()
      x86/entry/32: Check for VM86 mode in slow-path check
      perf/core: Make sure the ring-buffer is mapped in all page-tables
      x86/pti: Check the return value of pti_user_pagetable_walk_pmd()
      x86/pti: Check the return value of pti_user_pagetable_walk_p4d()
      x86/entry/32: Add debug code to check entry/exit CR3
      ...
    eac34119
main.c 28.6 KB