mirror of https://gitee.com/openkylin/linux.git
h8300: kill useless wrappers, fix rt_sigreturn(2)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
6bc43c9ee9
commit
ac416143b0
|
@ -129,9 +129,9 @@ struct rt_sigframe
|
|||
} __attribute__((aligned(2),packed));
|
||||
|
||||
static inline int
|
||||
restore_sigcontext(struct pt_regs *regs, struct sigcontext *usc,
|
||||
int *pd0)
|
||||
restore_sigcontext(struct sigcontext *usc, int *pd0)
|
||||
{
|
||||
struct pt_regs *regs = current_pt_regs();
|
||||
int err = 0;
|
||||
unsigned int ccr;
|
||||
unsigned int usp;
|
||||
|
@ -160,9 +160,8 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext *usc,
|
|||
return err;
|
||||
}
|
||||
|
||||
asmlinkage int do_sigreturn(unsigned long __unused,...)
|
||||
asmlinkage int sys_sigreturn(void)
|
||||
{
|
||||
struct pt_regs *regs = (struct pt_regs *) (&__unused - 1);
|
||||
unsigned long usp = rdusp();
|
||||
struct sigframe *frame = (struct sigframe *)(usp - 4);
|
||||
sigset_t set;
|
||||
|
@ -178,7 +177,7 @@ asmlinkage int do_sigreturn(unsigned long __unused,...)
|
|||
|
||||
set_current_blocked(&set);
|
||||
|
||||
if (restore_sigcontext(regs, &frame->sc, &er0))
|
||||
if (restore_sigcontext(&frame->sc, &er0))
|
||||
goto badframe;
|
||||
return er0;
|
||||
|
||||
|
@ -187,9 +186,8 @@ asmlinkage int do_sigreturn(unsigned long __unused,...)
|
|||
return 0;
|
||||
}
|
||||
|
||||
asmlinkage int do_rt_sigreturn(unsigned long __unused,...)
|
||||
asmlinkage int sys_rt_sigreturn(void)
|
||||
{
|
||||
struct pt_regs *regs = (struct pt_regs *) &__unused;
|
||||
unsigned long usp = rdusp();
|
||||
struct rt_sigframe *frame = (struct rt_sigframe *)(usp - 4);
|
||||
sigset_t set;
|
||||
|
@ -202,7 +200,7 @@ asmlinkage int do_rt_sigreturn(unsigned long __unused,...)
|
|||
|
||||
set_current_blocked(&set);
|
||||
|
||||
if (restore_sigcontext(regs, &frame->uc.uc_mcontext, &er0))
|
||||
if (restore_sigcontext(&frame->uc.uc_mcontext, &er0))
|
||||
goto badframe;
|
||||
|
||||
if (restore_altstack(&frame->uc.uc_stack))
|
||||
|
|
|
@ -334,18 +334,3 @@ SYMBOL_NAME_LABEL(sys_call_table)
|
|||
.long SYMBOL_NAME(sys_getcpu)
|
||||
.long SYMBOL_NAME(sys_ni_syscall) /* sys_epoll_pwait */
|
||||
.long SYMBOL_NAME(sys_setns) /* 320 */
|
||||
|
||||
.macro call_sp addr
|
||||
mov.l #SYMBOL_NAME(\addr),er6
|
||||
bra SYMBOL_NAME(syscall_trampoline):8
|
||||
.endm
|
||||
|
||||
SYMBOL_NAME_LABEL(sys_sigreturn)
|
||||
call_sp do_sigreturn
|
||||
|
||||
SYMBOL_NAME_LABEL(sys_rt_sigreturn)
|
||||
call_sp do_rt_sigreturn
|
||||
|
||||
SYMBOL_NAME_LABEL(syscall_trampoline)
|
||||
mov.l sp,er0
|
||||
jmp @er6
|
||||
|
|
Loading…
Reference in New Issue