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

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

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
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -215,9 +215,8 @@ asmlinkage unsigned long sys_sigreturn(unsigned long __unused)
	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;
	unsigned long ax;
	sigset_t set;
@@ -243,10 +242,17 @@ asmlinkage int sys_rt_sigreturn(unsigned long __unused)
	return ax;

badframe:
	signal_fault(regs, frame, "rt sigreturn");
	signal_fault(regs, frame, "rt_sigreturn");
	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.
 */
+8 −3
Original line number Diff line number Diff line
@@ -104,11 +104,11 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc,
	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;
	sigset_t set;
	unsigned long ax;
	sigset_t set;

	frame = (struct rt_sigframe __user *)(regs->sp - sizeof(long));
	if (!access_ok(VERIFY_READ, frame, sizeof(*frame)))
@@ -131,10 +131,15 @@ asmlinkage long sys_rt_sigreturn(struct pt_regs *regs)
	return ax;

badframe:
	signal_fault(regs, frame, "sigreturn");
	signal_fault(regs, frame, "rt_sigreturn");
	return 0;
}

asmlinkage long sys_rt_sigreturn(struct pt_regs *regs)
{
	return do_rt_sigreturn(regs);
}

/*
 * Set up a signal frame.
 */