[GIT PULL] x86/asm changes for v5.3

From: Ingo Molnar
Date: Mon Jul 08 2019 - 08:22:55 EST


Linus,

Please pull the latest x86-asm-for-linus git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-asm-for-linus

# HEAD: 7457c0da024b181a9143988d740001f9bc98698d x86/alternatives: Add int3_emulate_call() selftest

Most of the changes relate to Peter Zijlstra's cleanup of ptregs
handling, in particular the i386 part is now much simplified and
standardized - no more partial ptregs stack frames via the esp/ss oddity.
This simplifies ftrace, kprobes, the unwinder, ptrace, kdump and kgdb.

There's also a CR4 hardening enhancements by Kees Cook, to make the
generic platform functions such as native_write_cr4() less useful as ROP
gadgets that disable SMEP/SMAP. Also protect the WP bit of CR0 against
similar attacks.

The rest is smaller cleanups/fixes.

Thanks,

Ingo

------------------>
Ira Weiny (1):
Documentation/x86: Fix path to entry_32.S

Kees Cook (2):
x86/asm: Pin sensitive CR4 bits
x86/asm: Pin sensitive CR0 bits

Peter Zijlstra (7):
x86/entry/32: Clean up return from interrupt preemption path
x86/stackframe: Move ENCODE_FRAME_POINTER to asm/frame.h
x86/stackframe, x86/kprobes: Fix frame pointer annotations
x86/stackframe, x86/ftrace: Add pt_regs frame annotations
x86/stackframe/32: Provide consistent pt_regs
x86/stackframe/32: Allow int3_emulate_push()
x86/alternatives: Add int3_emulate_call() selftest

Steven Rostedt (VMware) (1):
x86/asm: Remove unused TASK_TI_flags from asm-offsets.c


Documentation/x86/exception-tables.rst | 2 +-
arch/x86/entry/calling.h | 15 ----
arch/x86/entry/entry_32.S | 145 ++++++++++++++++++++++++---------
arch/x86/include/asm/frame.h | 49 +++++++++++
arch/x86/include/asm/kexec.h | 17 ----
arch/x86/include/asm/ptrace.h | 17 +---
arch/x86/include/asm/special_insns.h | 37 ++++++++-
arch/x86/include/asm/stacktrace.h | 2 +-
arch/x86/include/asm/text-patching.h | 2 -
arch/x86/kernel/alternative.c | 81 +++++++++++++++++-
arch/x86/kernel/asm-offsets.c | 1 -
arch/x86/kernel/cpu/common.c | 20 +++++
arch/x86/kernel/crash.c | 8 --
arch/x86/kernel/ftrace.c | 7 --
arch/x86/kernel/ftrace_32.S | 78 ++++++++++--------
arch/x86/kernel/ftrace_64.S | 3 +
arch/x86/kernel/kgdb.c | 8 --
arch/x86/kernel/kprobes/common.h | 28 +++----
arch/x86/kernel/kprobes/core.c | 29 +++----
arch/x86/kernel/kprobes/opt.c | 20 +++--
arch/x86/kernel/process_32.c | 16 ++--
arch/x86/kernel/ptrace.c | 29 -------
arch/x86/kernel/smpboot.c | 8 +-
arch/x86/kernel/time.c | 3 +-
arch/x86/kernel/unwind_frame.c | 32 +-------
arch/x86/kernel/unwind_orc.c | 2 +-
26 files changed, 394 insertions(+), 265 deletions(-)