Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 25 Mar 2018 17:36:02 +0000 (07:36 -1000)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 25 Mar 2018 17:36:02 +0000 (07:36 -1000)
Pull x86 and PTI fixes from Ingo Molnar:
 "Misc fixes:

   - fix EFI pagetables freeing

   - fix vsyscall pagetable setting on Xen PV guests

   - remove ancient CONFIG_X86_PPRO_FENCE=y - x86 is TSO again

   - fix two binutils (ld) development version related incompatibilities

   - clean up breakpoint handling

   - fix an x86 self-test"

* 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/entry/64: Don't use IST entry for #BP stack
  x86/efi: Free efi_pgd with free_pages()
  x86/vsyscall/64: Use proper accessor to update P4D entry
  x86/cpu: Remove the CONFIG_X86_PPRO_FENCE=y quirk
  x86/boot/64: Verify alignment of the LOAD segment
  x86/build/64: Force the linker to use 2MB page size
  selftests/x86/ptrace_syscall: Fix for yet more glibc interference

1  2 
arch/x86/Kconfig.cpu
arch/x86/entry/entry_64.S

diff --combined arch/x86/Kconfig.cpu
index 8b8d2297d4867b06acaecf31e3be7124888f4d79,f0c5ef57815378821af445b35e1557cb7a04088d..638411f22267aa34bd6ddda10eeccded1a1f6b48
@@@ -315,19 -315,6 +315,6 @@@ config X86_L1_CACHE_SHIF
        default "4" if MELAN || M486 || MGEODEGX1
        default "5" if MWINCHIP3D || MWINCHIPC6 || MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODE_LX
  
- config X86_PPRO_FENCE
-       bool "PentiumPro memory ordering errata workaround"
-       depends on M686 || M586MMX || M586TSC || M586 || M486 || MGEODEGX1
-       ---help---
-         Old PentiumPro multiprocessor systems had errata that could cause
-         memory operations to violate the x86 ordering standard in rare cases.
-         Enabling this option will attempt to work around some (but not all)
-         occurrences of this problem, at the cost of much heavier spinlock and
-         memory barrier operations.
-         If unsure, say n here. Even distro kernels should think twice before
-         enabling this: there are few systems, and an unlikely bug.
  config X86_F00F_BUG
        def_bool y
        depends on M586MMX || M586TSC || M586 || M486
@@@ -374,7 -361,7 +361,7 @@@ config X86_TS
  
  config X86_CMPXCHG64
        def_bool y
 -      depends on X86_PAE || X86_64 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MATOM
 +      depends on X86_PAE || X86_64 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586TSC || M586MMX || MATOM || MGEODE_LX || MGEODEGX1 || MK6 || MK7 || MK8
  
  # this should be set for all -march=.. options where the compiler
  # generates cmov.
@@@ -385,7 -372,7 +372,7 @@@ config X86_CMO
  config X86_MINIMUM_CPU_FAMILY
        int
        default "64" if X86_64
 -      default "6" if X86_32 && X86_P6_NOP
 +      default "6" if X86_32 && (MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MEFFICEON || MATOM || MCRUSOE || MCORE2 || MK7 || MK8)
        default "5" if X86_32 && X86_CMPXCHG64
        default "4"
  
index 805f52703ee3377f88180eb3467a34bf2bc40e87,9b114675fbc05e1f589e6838f4603de871c0565d..18ed349b4f8379257daf9b31861912df9b411fec
@@@ -55,7 -55,7 +55,7 @@@ END(native_usergs_sysret64
  
  .macro TRACE_IRQS_FLAGS flags:req
  #ifdef CONFIG_TRACE_IRQFLAGS
 -      bt      $9, \flags              /* interrupts off? */
 +      btl     $9, \flags              /* interrupts off? */
        jnc     1f
        TRACE_IRQS_ON
  1:
@@@ -1138,7 -1138,7 +1138,7 @@@ apicinterrupt3 HYPERV_REENLIGHTENMENT_V
  #endif /* CONFIG_HYPERV */
  
  idtentry debug                        do_debug                has_error_code=0        paranoid=1 shift_ist=DEBUG_STACK
- idtentry int3                 do_int3                 has_error_code=0        paranoid=1 shift_ist=DEBUG_STACK
+ idtentry int3                 do_int3                 has_error_code=0
  idtentry stack_segment                do_stack_segment        has_error_code=1
  
  #ifdef CONFIG_XEN