Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 23 Oct 2018 17:43:04 +0000 (18:43 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 23 Oct 2018 17:43:04 +0000 (18:43 +0100)
Pull x86 pti updates from Ingo Molnar:
 "The main changes:

   - Make the IBPB barrier more strict and add STIBP support (Jiri
     Kosina)

   - Micro-optimize and clean up the entry code (Andy Lutomirski)

   - ... plus misc other fixes"

* 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/speculation: Propagate information about RSB filling mitigation to sysfs
  x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation
  x86/speculation: Apply IBPB more strictly to avoid cross-process data leak
  x86/speculation: Add RETPOLINE_AMD support to the inline asm CALL_NOSPEC variant
  x86/CPU: Fix unused variable warning when !CONFIG_IA32_EMULATION
  x86/pti/64: Remove the SYSCALL64 entry trampoline
  x86/entry/64: Use the TSS sp2 slot for SYSCALL/SYSRET scratch space
  x86/entry/64: Document idtentry

1  2 
arch/x86/entry/entry_64.S
arch/x86/include/asm/processor.h
arch/x86/kernel/asm-offsets.c
arch/x86/kernel/cpu/bugs.c
arch/x86/kernel/cpu/common.c
arch/x86/kernel/kprobes/core.c
arch/x86/kernel/process_64.c
arch/x86/kernel/traps.c
arch/x86/kernel/vmlinux.lds.S
arch/x86/mm/tlb.c
kernel/cpu.c

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index f72a47b602e208ce3c18c24f1f215e4e2a465674,f802cf5b447885ca4636727c40c2f78784c832b6..c33b06f5faa4079bb87392d42dd232ad6a2fe5a1
@@@ -1026,15 -1038,34 +1026,8 @@@ int kprobe_fault_handler(struct pt_reg
  }
  NOKPROBE_SYMBOL(kprobe_fault_handler);
  
 -/*
 - * Wrapper routine for handling exceptions.
 - */
 -int kprobe_exceptions_notify(struct notifier_block *self, unsigned long val,
 -                           void *data)
 -{
 -      struct die_args *args = data;
 -      int ret = NOTIFY_DONE;
 -
 -      if (args->regs && user_mode(args->regs))
 -              return ret;
 -
 -      if (val == DIE_GPF) {
 -              /*
 -               * To be potentially processing a kprobe fault and to
 -               * trust the result from kprobe_running(), we have
 -               * be non-preemptible.
 -               */
 -              if (!preemptible() && kprobe_running() &&
 -                  kprobe_fault_handler(args->regs, args->trapnr))
 -                      ret = NOTIFY_STOP;
 -      }
 -      return ret;
 -}
 -NOKPROBE_SYMBOL(kprobe_exceptions_notify);
 -
  bool arch_within_kprobe_blacklist(unsigned long addr)
  {
-       bool is_in_entry_trampoline_section = false;
- #ifdef CONFIG_X86_64
-       is_in_entry_trampoline_section =
-               (addr >= (unsigned long)__entry_trampoline_start &&
-                addr < (unsigned long)__entry_trampoline_end);
- #endif
        return  (addr >= (unsigned long)__kprobes_text_start &&
                 addr < (unsigned long)__kprobes_text_end) ||
                (addr >= (unsigned long)__entry_text_start &&
index d6674a425714b653def5c7c10628af9e723a6745,0fa7aa19f09e00696f38d19e156107760c2bb2cb..31b4755369f084575f6b3a0ec30b340392106f70
  #include <asm/unistd_32_ia32.h>
  #endif
  
- __visible DEFINE_PER_CPU(unsigned long, rsp_scratch);
  /* Prints also some state that isn't saved in the pt_regs */
 -void __show_regs(struct pt_regs *regs, int all)
 +void __show_regs(struct pt_regs *regs, enum show_regs_mode mode)
  {
        unsigned long cr0 = 0L, cr2 = 0L, cr3 = 0L, cr4 = 0L, fs, gs, shadowgs;
        unsigned long d0, d1, d2, d3, d6, d7;
Simple merge
Simple merge
Simple merge
diff --cc kernel/cpu.c
Simple merge