hexagon: switch to generic sigaltstack
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Родитель
0aa0203fb4
Коммит
1e974c2166
|
@ -31,6 +31,7 @@ config HEXAGON
|
|||
select GENERIC_CLOCKEVENTS
|
||||
select GENERIC_CLOCKEVENTS_BROADCAST
|
||||
select MODULES_USE_ELF_RELA
|
||||
select GENERIC_SIGALTSTACK
|
||||
---help---
|
||||
Qualcomm Hexagon is a processor architecture designed for high
|
||||
performance and low power across a wide variety of applications.
|
||||
|
|
|
@ -247,12 +247,6 @@ void do_notify_resume(struct pt_regs *regs, unsigned long thread_info_flags)
|
|||
/*
|
||||
* Architecture-specific wrappers for signal-related system calls
|
||||
*/
|
||||
asmlinkage int sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss)
|
||||
{
|
||||
struct pt_regs *regs = current_pt_regs();
|
||||
|
||||
return do_sigaltstack(uss, uoss, regs->r29);
|
||||
}
|
||||
|
||||
asmlinkage int sys_rt_sigreturn(void)
|
||||
{
|
||||
|
@ -288,14 +282,7 @@ asmlinkage int sys_rt_sigreturn(void)
|
|||
*/
|
||||
regs->syscall_nr = __NR_rt_sigreturn;
|
||||
|
||||
/*
|
||||
* If we were meticulous, we'd only call this if we knew that
|
||||
* we were actually going to use an alternate stack, and we'd
|
||||
* consider any error to be fatal. What we do here, in common
|
||||
* with many other architectures, is call it blindly and only
|
||||
* consider the -EFAULT return case to be proof of a problem.
|
||||
*/
|
||||
if (do_sigaltstack(&frame->uc.uc_stack, NULL, pt_psp(regs)) == -EFAULT)
|
||||
if (restore_altstack(&frame->uc.uc_stack))
|
||||
goto badframe;
|
||||
|
||||
return 0;
|
||||
|
|
Загрузка…
Ссылка в новой задаче