All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/18] x86: syscall wrapper cleanups
@ 2020-03-13 19:51 Brian Gerst
  2020-03-13 19:51 ` [PATCH v4 01/18] x86, syscalls: Refactor SYSCALL_DEFINEx macros Brian Gerst
                   ` (17 more replies)
  0 siblings, 18 replies; 45+ messages in thread
From: Brian Gerst @ 2020-03-13 19:51 UTC (permalink / raw)
  To: linux-kernel, x86
  Cc: Thomas Gleixner, Ingo Molnar, Borislav Petkov, H . Peter Anvin,
	Andy Lutomirski, Dominik Brodowski, Brian Gerst

This patch series cleans up the x86 syscall wrapper code and converts
the 32-bit native kernel over to pt_regs based syscalls.  This makes
the 32-bit syscall interface consistent with 64-bit, and a bit more
effecient by not blindly pushing all 6 potential arguments onto the
stack.

Changes since v3:
- Addressed feedback from v3
- Split the X32 syscall table into its own file
- Move the ABI prefix from the syscall table to the wrapper macros
- Additional cleanups
- Changed series title due to broader scope

Changes since v2:
- Moved adding the [compat_]sys_ prefix to the ABI-level macros

Changes since v1:
- Split patch 1 into multiple patches
- Updated comments and patch notes to clarify changes

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

 arch/x86/Kconfig                            |   2 +-
 arch/x86/entry/Makefile                     |   1 +
 arch/x86/entry/common.c                     |  18 +-
 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/vdso/vdso32/vclock_gettime.c |   1 +
 arch/x86/ia32/Makefile                      |   2 +-
 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/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/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/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 -
 31 files changed, 1086 insertions(+), 1208 deletions(-)
 create mode 100644 arch/x86/entry/syscall_x32.c
 rename arch/x86/{ia32 => kernel}/sys_ia32.c (78%)

-- 
2.24.1


^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2020-06-10 11:42 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-13 19:51 [PATCH v4 00/18] x86: syscall wrapper cleanups Brian Gerst
2020-03-13 19:51 ` [PATCH v4 01/18] x86, syscalls: Refactor SYSCALL_DEFINEx macros Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 02/18] x86, syscalls: Refactor SYSCALL_DEFINE0 macros Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 03/18] x86, syscalls: Refactor COND_SYSCALL macros Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 04/18] x86, syscalls: Refactor SYS_NI macros Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry: " tip-bot2 for Brian Gerst
2020-03-23  8:11   ` [PATCH] x86/entry: Fix SYS_NI() build failure Ingo Molnar
2020-03-23 21:11     ` Brian Gerst
2020-03-13 19:51 ` [PATCH v4 05/18] x86-64: Use syscall wrappers for x32_rt_sigreturn Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry/64: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 06/18] x86-64: Move sys_ni_syscall stub to common.c Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry/64: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 07/18] x86-64: Split X32 syscall table into its own file Brian Gerst
2020-03-14 13:39   ` Dominik Brodowski
2020-03-21 15:30   ` [tip: x86/entry] x86/entry/64: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 08/18] x86: Move max syscall number calculation to syscallhdr.sh Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 09/18] x86-64: Remove ptregs qualifier from syscall table Brian Gerst
2020-03-14 13:42   ` Dominik Brodowski
2020-03-21 15:30   ` [tip: x86/entry] x86/entry/64: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 10/18] x86: Remove syscall qualifier support Brian Gerst
2020-03-14 13:43   ` Dominik Brodowski
2020-03-21 15:30   ` [tip: x86/entry] x86/entry: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 11/18] x86-64: Add __SYSCALL_COMMON() Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry/64: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 12/18] x86: Remove ABI prefixes from functions in syscall tables Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 13/18] x86: Clean up syscall_32.tbl Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry/32: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 14/18] x86, syscalls: Rename 32-bit specific syscalls Brian Gerst
2020-03-14 13:45   ` Dominik Brodowski
2020-03-21 15:30   ` [tip: x86/entry] x86/entry/32: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 15/18] x86: Use IA32-specific wrappers for syscalls taking 64-bit arguments Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry/32: " tip-bot2 for Brian Gerst
2020-06-10 11:29     ` Jiri Slaby
2020-06-10 11:42       ` Jiri Slaby
2020-03-13 19:51 ` [PATCH v4 16/18] x86-32: Enable pt_regs based syscalls Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry/32: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 17/18] x86: Drop asmlinkage from syscalls Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 18/18] x86: Remove unneeded includes Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] " tip-bot2 for Brian Gerst

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.