Re: [PATCH 0/8] use struct pt_regs based syscall calling for x86-64

From: Ingo Molnar
Date: Thu Apr 05 2018 - 11:19:44 EST



* Dominik Brodowski <linux@xxxxxxxxxxxxxxxxxxxx> wrote:

> Dominik Brodowski (7):
> syscalls: introduce CONFIG_ARCH_HAS_SYSCALL_WRAPPER
> syscalls/x86: use struct pt_regs based syscall calling for 64-bit
> syscalls
> syscalls: prepare ARCH_HAS_SYSCALL_WRAPPER for compat syscalls
> syscalls/x86: use struct pt_regs based syscall calling for
> IA32_EMULATION and x32
> syscalls/x86: unconditionally enable struct pt_regs based syscalls on
> x86_64
> x86/entry/64: extend register clearing on syscall entry to lower
> registers
> syscalls/x86: rename struct pt_regs-based sys_*() to __sys_x86_*()
>
> Linus Torvalds (1):
> x86: don't pointlessly reload the system call number
>
> arch/x86/Kconfig | 1 +
> arch/x86/entry/calling.h | 2 +
> arch/x86/entry/common.c | 20 +-
> arch/x86/entry/entry_64.S | 3 +-
> arch/x86/entry/entry_64_compat.S | 6 +
> arch/x86/entry/syscall_32.c | 15 +-
> arch/x86/entry/syscall_64.c | 6 +-
> arch/x86/entry/syscalls/syscall_32.tbl | 724 +++++++++++++++++----------------
> arch/x86/entry/syscalls/syscall_64.tbl | 712 ++++++++++++++++----------------
> arch/x86/entry/vsyscall/vsyscall_64.c | 18 +-
> arch/x86/include/asm/syscall.h | 4 +
> arch/x86/include/asm/syscall_wrapper.h | 197 +++++++++
> arch/x86/include/asm/syscalls.h | 17 +-
> include/linux/compat.h | 22 +
> include/linux/syscalls.h | 25 +-
> init/Kconfig | 10 +
> kernel/sys_ni.c | 10 +
> kernel/time/posix-stubs.c | 10 +
> 18 files changed, 1054 insertions(+), 748 deletions(-)
> create mode 100644 arch/x86/include/asm/syscall_wrapper.h

Ok, this series looks mostly good to me, but AFAICS this breaks the UML build:

make[2]: *** No rule to make target 'archheaders'. Stop.
arch/um/Makefile:119: recipe for target 'archheaders' failed
make[1]: *** [archheaders] Error 2
make[1]: *** Waiting for unfinished jobs....

Thanks,

Ingo