提交 e6a7ad51 编写于 作者: A Al Viro

parisc: switch to generic compat rt_sigprocmask()

Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 6e26aab9
...@@ -24,6 +24,7 @@ config PARISC ...@@ -24,6 +24,7 @@ config PARISC
select MODULES_USE_ELF_RELA select MODULES_USE_ELF_RELA
select CLONE_BACKWARDS select CLONE_BACKWARDS
select GENERIC_SIGALTSTACK select GENERIC_SIGALTSTACK
select GENERIC_COMPAT_RT_SIGPROCMASK
help help
The PA-RISC microprocessor is designed by Hewlett-Packard and used The PA-RISC microprocessor is designed by Hewlett-Packard and used
......
...@@ -72,41 +72,6 @@ put_sigset32(compat_sigset_t __user *up, sigset_t *set, size_t sz) ...@@ -72,41 +72,6 @@ put_sigset32(compat_sigset_t __user *up, sigset_t *set, size_t sz)
return copy_to_user(up, &s, sizeof s); return copy_to_user(up, &s, sizeof s);
} }
static int
get_sigset32(compat_sigset_t __user *up, sigset_t *set, size_t sz)
{
compat_sigset_t s;
int r;
if (sz != sizeof *set)
return -EINVAL;
if ((r = copy_from_user(&s, up, sz)) == 0) {
sigset_32to64(set, &s);
}
return r;
}
int sys32_rt_sigprocmask(int how, compat_sigset_t __user *set, compat_sigset_t __user *oset,
unsigned int sigsetsize)
{
sigset_t old_set, new_set;
int ret;
if (set && get_sigset32(set, &new_set, sigsetsize))
return -EFAULT;
KERNEL_SYSCALL(ret, sys_rt_sigprocmask, how, set ? (sigset_t __user *)&new_set : NULL,
oset ? (sigset_t __user *)&old_set : NULL, sigsetsize);
if (!ret && oset && put_sigset32(oset, &old_set, sigsetsize))
return -EFAULT;
return ret;
}
int sys32_rt_sigpending(compat_sigset_t __user *uset, unsigned int sigsetsize) int sys32_rt_sigpending(compat_sigset_t __user *uset, unsigned int sigsetsize)
{ {
int ret; int ret;
......
...@@ -266,7 +266,7 @@ ...@@ -266,7 +266,7 @@
/* signals need a careful review */ /* signals need a careful review */
ENTRY_SAME(rt_sigreturn_wrapper) ENTRY_SAME(rt_sigreturn_wrapper)
ENTRY_DIFF(rt_sigaction) ENTRY_DIFF(rt_sigaction)
ENTRY_DIFF(rt_sigprocmask) /* 175 */ ENTRY_COMP(rt_sigprocmask) /* 175 */
ENTRY_DIFF(rt_sigpending) ENTRY_DIFF(rt_sigpending)
ENTRY_COMP(rt_sigtimedwait) ENTRY_COMP(rt_sigtimedwait)
/* even though the struct siginfo_t is different, it appears like /* even though the struct siginfo_t is different, it appears like
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册