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

Commit bde208d2 authored by Al Viro's avatar Al Viro
Browse files

switch mips to generic rt_sigsuspend(), make it unconditional



mips was the last architecture not using the generic variant.
Both native and compat variants switched to generic, which is
made unconditional now.

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 1c37ea82
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -232,7 +232,7 @@ EXPORT(sysn32_call_table)
	PTR	sys_32_rt_sigpending		/* 6125 */
	PTR	compat_sys_rt_sigtimedwait
	PTR	sys_32_rt_sigqueueinfo
	PTR	sysn32_rt_sigsuspend
	PTR	compat_sys_rt_sigsuspend
	PTR	compat_sys_sigaltstack
	PTR	compat_sys_utime		/* 6130 */
	PTR	sys_mknod
+1 −1
Original line number Diff line number Diff line
@@ -391,7 +391,7 @@ sys_call_table:
	PTR	sys_32_rt_sigpending
	PTR	compat_sys_rt_sigtimedwait
	PTR	sys_32_rt_sigqueueinfo
	PTR	sys32_rt_sigsuspend
	PTR	compat_sys_rt_sigsuspend
	PTR	sys_32_pread			/* 4200 */
	PTR	sys_32_pwrite
	PTR	sys_chown
+0 −13
Original line number Diff line number Diff line
@@ -259,19 +259,6 @@ asmlinkage int sys_sigsuspend(nabi_no_regargs struct pt_regs regs)
}
#endif

SYSCALL_DEFINE2(rt_sigsuspend, sigset_t __user *,unewset, size_t, sigsetsize)
{
	sigset_t newset;

	/* XXX Don't preclude handling different sized sigset_t's.  */
	if (sigsetsize != sizeof(sigset_t))
		return -EINVAL;

	if (copy_from_user(&newset, unewset, sizeof(newset)))
		return -EFAULT;
	return sigsuspend(&newset);
}

#ifdef CONFIG_TRAD_SIGNALS
SYSCALL_DEFINE3(sigaction, int, sig, const struct sigaction __user *, act,
	struct sigaction __user *, oact)
+0 −17
Original line number Diff line number Diff line
@@ -284,23 +284,6 @@ asmlinkage int sys32_sigsuspend(nabi_no_regargs struct pt_regs regs)
	return sigsuspend(&newset);
}

asmlinkage int sys32_rt_sigsuspend(nabi_no_regargs struct pt_regs regs)
{
	compat_sigset_t __user *uset;
	sigset_t newset;
	size_t sigsetsize;

	/* XXX Don't preclude handling different sized sigset_t's.  */
	sigsetsize = regs.regs[5];
	if (sigsetsize != sizeof(compat_sigset_t))
		return -EINVAL;

	uset = (compat_sigset_t __user *) regs.regs[4];
	if (get_sigset(&newset, uset))
		return -EFAULT;
	return sigsuspend(&newset);
}

SYSCALL_DEFINE3(32_sigaction, long, sig, const struct sigaction32 __user *, act,
	struct sigaction32 __user *, oact)
{
+0 −21
Original line number Diff line number Diff line
@@ -65,27 +65,6 @@ struct rt_sigframe_n32 {
	struct ucontextn32 rs_uc;
};

extern void sigset_from_compat(sigset_t *set, compat_sigset_t *compat);

asmlinkage int sysn32_rt_sigsuspend(nabi_no_regargs struct pt_regs regs)
{
	compat_sigset_t __user *unewset;
	compat_sigset_t uset;
	size_t sigsetsize;
	sigset_t newset;

	/* XXX Don't preclude handling different sized sigset_t's.  */
	sigsetsize = regs.regs[5];
	if (sigsetsize != sizeof(sigset_t))
		return -EINVAL;

	unewset = (compat_sigset_t __user *) regs.regs[4];
	if (copy_from_user(&uset, unewset, sizeof(uset)))
		return -EFAULT;
	sigset_from_compat(&newset, &uset);
	return sigsuspend(&newset);
}

asmlinkage void sysn32_rt_sigreturn(nabi_no_regargs struct pt_regs regs)
{
	struct rt_sigframe_n32 __user *frame;
Loading