Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 54d46ea9 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull signal handling cleanups from Al Viro:
 "sigaltstack infrastructure + conversion for x86, alpha and um,
  COMPAT_SYSCALL_DEFINE infrastructure.

  Note that there are several conflicts between "unify
  SS_ONSTACK/SS_DISABLE definitions" and UAPI patches in mainline;
  resolution is trivial - just remove definitions of SS_ONSTACK and
  SS_DISABLED from arch/*/uapi/asm/signal.h; they are all identical and
  include/uapi/linux/signal.h contains the unified variant."

Fixed up conflicts as per Al.

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
  alpha: switch to generic sigaltstack
  new helpers: __save_altstack/__compat_save_altstack, switch x86 and um to those
  generic compat_sys_sigaltstack()
  introduce generic sys_sigaltstack(), switch x86 and um to it
  new helper: compat_user_stack_pointer()
  new helper: restore_altstack()
  unify SS_ONSTACK/SS_DISABLE definitions
  new helper: current_user_stack_pointer()
  missing user_stack_pointer() instances
  Bury the conditionals from kernel_thread/kernel_execve series
  COMPAT_SYSCALL_DEFINE: infrastructure
parents f59dc2bb 50ececcf
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -291,12 +291,6 @@ config ARCH_WANT_OLD_COMPAT_IPC
	select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
	bool

config GENERIC_KERNEL_THREAD
	bool

config GENERIC_KERNEL_EXECVE
	bool

config HAVE_ARCH_SECCOMP_FILTER
	bool
	help
@@ -362,6 +356,9 @@ config MODULES_USE_ELF_REL
	  Modules only use ELF REL relocations.  Modules with ELF RELA
	  relocations will give an error.

config GENERIC_SIGALTSTACK
	bool

#
# ABI hall of shame
#
+1 −2
Original line number Diff line number Diff line
@@ -20,10 +20,9 @@ config ALPHA
	select GENERIC_CMOS_UPDATE
	select GENERIC_STRNCPY_FROM_USER
	select GENERIC_STRNLEN_USER
	select GENERIC_KERNEL_THREAD
	select GENERIC_KERNEL_EXECVE
	select HAVE_MOD_ARCH_SPECIFIC
	select MODULES_USE_ELF_RELA
	select GENERIC_SIGALTSTACK
	help
	  The Alpha is a 64-bit general-purpose processor designed and
	  marketed by the Digital Equipment Corporation of blessed memory,
+1 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@
#define user_mode(regs) (((regs)->ps & 8) != 0)
#define instruction_pointer(regs) ((regs)->pc)
#define profile_pc(regs) instruction_pointer(regs)
#define current_user_stack_pointer() rdusp()

#define task_pt_regs(task) \
  ((struct pt_regs *) (task_stack_page(task) + 2*PAGE_SIZE) - 1)
+0 −1
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@
#define __ARCH_WANT_SYS_OLDUMOUNT
#define __ARCH_WANT_SYS_SIGPENDING
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
#define __ARCH_WANT_SYS_EXECVE
#define __ARCH_WANT_SYS_FORK
#define __ARCH_WANT_SYS_VFORK
#define __ARCH_WANT_SYS_CLONE
+0 −6
Original line number Diff line number Diff line
@@ -84,12 +84,6 @@ typedef unsigned long sigset_t;
#define SA_ONESHOT	SA_RESETHAND
#define SA_NOMASK	SA_NODEFER

/* 
 * sigaltstack controls
 */
#define SS_ONSTACK	1
#define SS_DISABLE	2

#define MINSIGSTKSZ	4096
#define SIGSTKSZ	16384

Loading