[GIT PULL] x86 fixes
From: Ingo Molnar
Date: Sun Dec 01 2019 - 17:23:16 EST
Linus,
Please pull the latest x86-urgent-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-urgent-for-linus
# HEAD: 91298f1a302dad0f0f630413c812818636faa8a0 x86/mm/pat: Fix off-by-one bugs in interval tree search
Various fixes:
- Fix the PAT performance regression that downgraded write-combining
device memory regions to uncached.
- There's been a number of bugs in 32-bit double fault handling -
hopefully all fixed now.
- Fix an LDT crash
- Fix an FPU over-optimization that broke with GCC9 code optimizations.
- Misc cleanups
Thanks,
Ingo
------------------>
Andy Lutomirski (9):
selftests/x86/single_step_syscall: Check SYSENTER directly
lkdtm: Add a DOUBLE_FAULT crash type on x86
x86/traps: Disentangle the 32-bit and 64-bit doublefault code
x86/doublefault/32: Rename doublefault.c to doublefault_32.c
x86/doublefault/32: Move #DF stack and TSS to cpu_entry_area
x86/doublefault/32: Rewrite the x86_32 #DF handler and unify with 64-bit
x86/traps: die() instead of panicking on a double fault
x86/ptrace: Remove set_segment_reg() implementations for current
x86/ptrace: Document FSBASE and GSBASE ABI oddities
Borislav Petkov (2):
x86/entry/32: Remove unused 'restore_all_notrace' local label
x86/ioperm: Save an indentation level in tss_update_io_bitmap()
Ingo Molnar (1):
x86/mm/pat: Fix off-by-one bugs in interval tree search
Joerg Roedel (1):
x86/mm/32: Sync only to VMALLOC_END in vmalloc_sync_all()
Sebastian Andrzej Siewior (1):
x86/fpu: Don't cache access to fpu_fpregs_owner_ctx
arch/x86/Kconfig.debug | 2 +-
arch/x86/entry/entry_32.S | 43 ++++++-
arch/x86/include/asm/cpu_entry_area.h | 12 ++
arch/x86/include/asm/doublefault.h | 13 +++
arch/x86/include/asm/fpu/internal.h | 2 +-
arch/x86/include/asm/pgtable_32_types.h | 7 +-
arch/x86/include/asm/processor.h | 2 -
arch/x86/include/asm/traps.h | 3 +
arch/x86/kernel/Makefile | 4 +-
arch/x86/kernel/cpu/common.c | 12 +-
arch/x86/kernel/doublefault.c | 86 --------------
arch/x86/kernel/doublefault_32.c | 136 ++++++++++++++++++++++
arch/x86/kernel/dumpstack_32.c | 30 +++++
arch/x86/kernel/process.c | 52 ++++-----
arch/x86/kernel/ptrace.c | 36 ++++--
arch/x86/kernel/traps.c | 31 +++--
arch/x86/mm/cpu_entry_area.c | 14 ++-
arch/x86/mm/fault.c | 2 +-
arch/x86/mm/pat_interval.c | 12 +-
drivers/misc/lkdtm/bugs.c | 39 +++++++
drivers/misc/lkdtm/core.c | 3 +
drivers/misc/lkdtm/lkdtm.h | 3 +
tools/testing/selftests/x86/single_step_syscall.c | 94 +++++++++++++--
23 files changed, 467 insertions(+), 171 deletions(-)
create mode 100644 arch/x86/include/asm/doublefault.h
delete mode 100644 arch/x86/kernel/doublefault.c
create mode 100644 arch/x86/kernel/doublefault_32.c