[GIT pull] x86/entry for v5.7

From: Thomas Gleixner
Date: Mon Mar 30 2020 - 10:50:10 EST


Linus,

please pull the latest x86/entry branch from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-entry-2020-03-30

up to: 290a4474d019: x86/entry: Fix build error x86 with !CONFIG_POSIX_TIMERS


x86 entry code updates:

- Convert the 32bit syscalls to be pt_regs based which removes the
requirement to push all 6 potential arguments onto the stack and
consolidates the interface with the 64bit variant

- The first small portion of the exception and syscall related entry
code consolidation which aims to address the recently discovered
issues vs. RCU, int3, NMI and some other exceptions which can
interrupt any context. The bulk of the changes is still work in
progress and aimed for 5.8.

- A few lockdep namespace cleanups which have been applied into this
branch to keep the prerequisites for the ongoing work confined.

Thanks,

tglx

------------------>
Andy Lutomirski (2):
x86/mce: Disable tracing and kprobes on do_machine_check()
x86/traps: Stop using ist_enter/exit() in do_int3()

Brian Gerst (19):
x86/entry: Refactor SYSCALL_DEFINEx macros
x86/entry: Refactor SYSCALL_DEFINE0 macros
x86/entry: Refactor COND_SYSCALL macros
x86/entry: Refactor SYS_NI macros
x86/entry/64: Use syscall wrappers for x32_rt_sigreturn
x86/entry/64: Move sys_ni_syscall stub to common.c
x86/entry/64: Split X32 syscall table into its own file
x86/entry: Move max syscall number calculation to syscallhdr.sh
x86/entry/64: Remove ptregs qualifier from syscall table
x86/entry: Remove syscall qualifier support
x86/entry/64: Add __SYSCALL_COMMON()
x86/entry: Remove ABI prefixes from functions in syscall tables
x86/entry/32: Clean up syscall_32.tbl
x86/entry/32: Rename 32-bit specific syscalls
x86/entry/32: Use IA32-specific wrappers for syscalls taking 64-bit arguments
x86/entry/32: Enable pt_regs based syscalls
x86/entry: Drop asmlinkage from syscalls
x86: Remove unneeded includes
x86/entry: Fix build error x86 with !CONFIG_POSIX_TIMERS

Peter Zijlstra (3):
x86/entry: Rename ___preempt_schedule
lockdep: Rename trace_softirqs_{on,off}()
lockdep: Rename trace_{hard,soft}{irq_context,irqs_enabled}()

Thomas Gleixner (11):
x86/entry/32: Add missing ASM_CLAC to general_protection entry
x86/entry/32: Force MCE through do_mce()
x86/traps: Remove pointless irq enable from do_spurious_interrupt_bug()
x86/traps: Document do_spurious_interrupt_bug()
x86/traps: Remove redundant declaration of do_double_fault()
x86/irq: Remove useless return value from do_IRQ()
x86/entry/entry_32: Route int3 through common_exception
x86/entry/32: Remove the 0/-1 distinction from exception entries
x86/entry/32: Remove unused label restore_nocheck
x86/entry/64: Trace irqflags unconditionally as ON when returning to user space
lockdep: Rename trace_hardirq_{enter,exit}()


arch/x86/Kconfig | 2 +-
arch/x86/entry/Makefile | 1 +
arch/x86/entry/common.c | 18 +-
arch/x86/entry/entry_32.S | 23 +-
arch/x86/entry/entry_64.S | 4 +-
arch/x86/entry/syscall_32.c | 19 +-
arch/x86/entry/syscall_64.c | 39 +-
arch/x86/entry/syscall_x32.c | 29 +
arch/x86/entry/syscalls/syscall_32.tbl | 818 ++++++++++++++--------------
arch/x86/entry/syscalls/syscall_64.tbl | 740 ++++++++++++-------------
arch/x86/entry/syscalls/syscallhdr.sh | 7 +
arch/x86/entry/syscalls/syscalltbl.sh | 44 +-
arch/x86/entry/thunk_32.S | 8 +-
arch/x86/entry/thunk_64.S | 8 +-
arch/x86/entry/vdso/vdso32/vclock_gettime.c | 1 +
arch/x86/ia32/Makefile | 2 +-
arch/x86/include/asm/irq.h | 2 +-
arch/x86/include/asm/mce.h | 3 -
arch/x86/include/asm/preempt.h | 8 +-
arch/x86/include/asm/sighandling.h | 5 -
arch/x86/include/asm/syscall.h | 11 +-
arch/x86/include/asm/syscall_wrapper.h | 287 +++++-----
arch/x86/include/asm/syscalls.h | 34 --
arch/x86/include/asm/traps.h | 17 +-
arch/x86/include/asm/unistd.h | 7 +
arch/x86/kernel/Makefile | 2 +
arch/x86/kernel/asm-offsets_32.c | 9 -
arch/x86/kernel/asm-offsets_64.c | 36 --
arch/x86/kernel/cpu/mce/core.c | 12 +-
arch/x86/kernel/cpu/mce/internal.h | 3 +
arch/x86/kernel/irq.c | 3 +-
arch/x86/kernel/ldt.c | 1 -
arch/x86/kernel/process.c | 1 -
arch/x86/kernel/process_32.c | 1 -
arch/x86/kernel/process_64.c | 1 -
arch/x86/kernel/signal.c | 4 +-
arch/x86/{ia32 => kernel}/sys_ia32.c | 143 ++---
arch/x86/kernel/sys_x86_64.c | 1 -
arch/x86/kernel/traps.c | 41 +-
arch/x86/um/Makefile | 1 +
arch/x86/um/sys_call_table_32.c | 6 +-
arch/x86/um/sys_call_table_64.c | 9 +-
arch/x86/um/user-offsets.c | 15 -
include/linux/hardirq.h | 8 +-
include/linux/irqflags.h | 34 +-
kernel/locking/lockdep.c | 12 +-
kernel/softirq.c | 15 +-
tools/include/linux/irqflags.h | 12 +-
48 files changed, 1206 insertions(+), 1301 deletions(-)
create mode 100644 arch/x86/entry/syscall_x32.c
rename arch/x86/{ia32 => kernel}/sys_ia32.c (78%)