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

Commit 6bf9adfc authored by Al Viro's avatar Al Viro
Browse files

introduce generic sys_sigaltstack(), switch x86 and um to it



Conditional on CONFIG_GENERIC_SIGALTSTACK; architectures that do not
select it are completely unaffected

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 9b064fc3
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -335,6 +335,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
#
+0 −5
Original line number Diff line number Diff line
@@ -132,8 +132,3 @@ long sys_sigsuspend(int history0, int history1, old_sigset_t mask)
	siginitset(&blocked, mask);
	return sigsuspend(&blocked);
}

long sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss)
{
	return do_sigaltstack(uss, uoss, PT_REGS_SP(&current->thread.regs));
}
+1 −0
Original line number Diff line number Diff line
@@ -111,6 +111,7 @@ config X86
	select MODULES_USE_ELF_REL if X86_32
	select MODULES_USE_ELF_RELA if X86_64
	select CLONE_BACKWARDS if X86_32
	select GENERIC_SIGALTSTACK

config INSTRUCTION_DECODER
	def_bool y
+0 −3
Original line number Diff line number Diff line
@@ -25,9 +25,6 @@ asmlinkage int sys_modify_ldt(int, void __user *, unsigned long);

/* kernel/signal.c */
long sys_rt_sigreturn(struct pt_regs *);
long sys_sigaltstack(const stack_t __user *, stack_t __user *,
		     struct pt_regs *);


/* kernel/tls.c */
asmlinkage int sys_set_thread_area(struct user_desc __user *);
+0 −1
Original line number Diff line number Diff line
@@ -739,7 +739,6 @@ ENTRY(ptregs_##name) ; \
ENDPROC(ptregs_##name)

PTREGSCALL1(iopl)
PTREGSCALL2(sigaltstack)
PTREGSCALL0(sigreturn)
PTREGSCALL0(rt_sigreturn)
PTREGSCALL2(vm86)
Loading