Commit e6babb6b authored by Hiroshi Shimamoto's avatar Hiroshi Shimamoto Committed by Ingo Molnar

x86: signal: introduce do_rt_sigreturn()

introduce do_rt_sigreturn(), to collect common part of sys_rt_sigreturn().

No change in functionality intended.
Signed-off-by: default avatarHiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 2ba48e16
...@@ -215,9 +215,8 @@ asmlinkage unsigned long sys_sigreturn(unsigned long __unused) ...@@ -215,9 +215,8 @@ asmlinkage unsigned long sys_sigreturn(unsigned long __unused)
return 0; return 0;
} }
asmlinkage int sys_rt_sigreturn(unsigned long __unused) static long do_rt_sigreturn(struct pt_regs *regs)
{ {
struct pt_regs *regs = (struct pt_regs *)&__unused;
struct rt_sigframe __user *frame; struct rt_sigframe __user *frame;
unsigned long ax; unsigned long ax;
sigset_t set; sigset_t set;
...@@ -243,10 +242,17 @@ asmlinkage int sys_rt_sigreturn(unsigned long __unused) ...@@ -243,10 +242,17 @@ asmlinkage int sys_rt_sigreturn(unsigned long __unused)
return ax; return ax;
badframe: badframe:
signal_fault(regs, frame, "rt sigreturn"); signal_fault(regs, frame, "rt_sigreturn");
return 0; return 0;
} }
asmlinkage int sys_rt_sigreturn(unsigned long __unused)
{
struct pt_regs *regs = (struct pt_regs *)&__unused;
return do_rt_sigreturn(regs);
}
/* /*
* Set up a signal frame. * Set up a signal frame.
*/ */
......
...@@ -104,11 +104,11 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, ...@@ -104,11 +104,11 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc,
return err; return err;
} }
asmlinkage long sys_rt_sigreturn(struct pt_regs *regs) static long do_rt_sigreturn(struct pt_regs *regs)
{ {
struct rt_sigframe __user *frame; struct rt_sigframe __user *frame;
sigset_t set;
unsigned long ax; unsigned long ax;
sigset_t set;
frame = (struct rt_sigframe __user *)(regs->sp - sizeof(long)); frame = (struct rt_sigframe __user *)(regs->sp - sizeof(long));
if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) if (!access_ok(VERIFY_READ, frame, sizeof(*frame)))
...@@ -131,10 +131,15 @@ asmlinkage long sys_rt_sigreturn(struct pt_regs *regs) ...@@ -131,10 +131,15 @@ asmlinkage long sys_rt_sigreturn(struct pt_regs *regs)
return ax; return ax;
badframe: badframe:
signal_fault(regs, frame, "sigreturn"); signal_fault(regs, frame, "rt_sigreturn");
return 0; return 0;
} }
asmlinkage long sys_rt_sigreturn(struct pt_regs *regs)
{
return do_rt_sigreturn(regs);
}
/* /*
* Set up a signal frame. * Set up a signal frame.
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment