All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/6] x86/entry: cleanups and consistent syscall number handling
@ 2021-05-10 17:45 H. Peter Anvin
  2021-05-10 17:45 ` [RFC PATCH 1/6] x86/entry: unify definitions from calling.h and ptrace-abi.h H. Peter Anvin
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: H. Peter Anvin @ 2021-05-10 17:45 UTC (permalink / raw)
  To: Ingo Molnar, Thomas Gleixner, Andy Lutomirski, Borislav Petkov
  Cc: H. Peter Anvin, Linux Kernel Mailing List

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

This patchset:

1. Cleans up some duplications between <entry/calling.h> and <asm/ptrace-abi.h>.

2. Swaps the arguments to do_syscall_64() for consistency *and* speed.

3. Adds the maximum number of flags to MSR_SYSCALL_MASK; the previous
   is more of a minimum. The more flags that are masked, the less the
   likelihood of a control leak into the kernel.

4. Consistently treat the system call number as a signed int. This is
   what syscall_get_nr() already does, and therefore what all
   architecture-independent code (e.g. seccomp) already expects.

5. Call sys_ni_syscall() for system calls which are out of range but
   still positive (negative system calls are used by ptrace and
   seccomp as a "skip system call" marker) just as for system call
   numbers that correspond to holes in the table.

6. In <entry/calling.h>, factor the PUSH_AND_CLEAR_REGS macro into
   separate PUSH_REGS and CLEAR_REGS macros which can be used
   separately if desired. This will be used by the FRED entry code at
   a later date.

--- 
 arch/x86/entry/calling.h       | 45 ++++++--------------------
 arch/x86/entry/common.c        | 71 ++++++++++++++++++++++++++++--------------
 arch/x86/entry/entry_64.S      |  4 +--
 arch/x86/include/asm/syscall.h | 13 ++++----
 arch/x86/kernel/cpu/common.c   | 12 +++++--
 arch/x86/kernel/head_64.S      |  6 ++--
 6 files changed, 77 insertions(+), 74 deletions(-)

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

end of thread, other threads:[~2021-05-13  7:39 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-10 17:45 [RFC PATCH 0/6] x86/entry: cleanups and consistent syscall number handling H. Peter Anvin
2021-05-10 17:45 ` [RFC PATCH 1/6] x86/entry: unify definitions from calling.h and ptrace-abi.h H. Peter Anvin
2021-05-10 17:45 ` [RFC PATCH 2/6] x86/entry: reverse arguments to do_syscall_64() H. Peter Anvin
2021-05-10 17:45 ` [RFC PATCH 3/6] x86/syscall: unconditionally prototype {ia32,x32}_sys_call_table[] H. Peter Anvin
2021-05-10 17:45 ` [RFC PATCH 4/6] x86/syscall: maximize MSR_SYSCALL_MASK H. Peter Anvin
2021-05-10 17:45 ` [RFC PATCH 5/6] x86/entry: use int for syscall number; handle all invalid syscall nrs H. Peter Anvin
2021-05-13  7:39   ` [x86/entry] 55b7c6747c: kernel-selftests.x86.syscall_numbering_64.fail kernel test robot
2021-05-13  7:39     ` kernel test robot
2021-05-10 17:45 ` [RFC PATCH 6/6] x86/entry: split PUSH_AND_CLEAR_REGS into two submacros H. Peter Anvin

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.