parisc: switch to generic compat rt_sigpending()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
e6a7ad517a
commit
cddc2da135
3 changed files with 2 additions and 26 deletions
|
@ -25,6 +25,7 @@ config PARISC
|
||||||
select CLONE_BACKWARDS
|
select CLONE_BACKWARDS
|
||||||
select GENERIC_SIGALTSTACK
|
select GENERIC_SIGALTSTACK
|
||||||
select GENERIC_COMPAT_RT_SIGPROCMASK
|
select GENERIC_COMPAT_RT_SIGPROCMASK
|
||||||
|
select GENERIC_COMPAT_RT_SIGPENDING
|
||||||
|
|
||||||
help
|
help
|
||||||
The PA-RISC microprocessor is designed by Hewlett-Packard and used
|
The PA-RISC microprocessor is designed by Hewlett-Packard and used
|
||||||
|
|
|
@ -60,31 +60,6 @@ sigset_64to32(compat_sigset_t *s32, sigset_t *s64)
|
||||||
s32->sig[1] = (s64->sig[0] >> 32) & 0xffffffffUL;
|
s32->sig[1] = (s64->sig[0] >> 32) & 0xffffffffUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
|
||||||
put_sigset32(compat_sigset_t __user *up, sigset_t *set, size_t sz)
|
|
||||||
{
|
|
||||||
compat_sigset_t s;
|
|
||||||
|
|
||||||
if (sz != sizeof *set)
|
|
||||||
return -EINVAL;
|
|
||||||
sigset_64to32(&s, set);
|
|
||||||
|
|
||||||
return copy_to_user(up, &s, sizeof s);
|
|
||||||
}
|
|
||||||
|
|
||||||
int sys32_rt_sigpending(compat_sigset_t __user *uset, unsigned int sigsetsize)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
sigset_t set;
|
|
||||||
|
|
||||||
KERNEL_SYSCALL(ret, sys_rt_sigpending, (sigset_t __user *)&set, sigsetsize);
|
|
||||||
|
|
||||||
if (!ret && put_sigset32(uset, &set, sigsetsize))
|
|
||||||
return -EFAULT;
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
long
|
long
|
||||||
sys32_rt_sigaction(int sig, const struct sigaction32 __user *act, struct sigaction32 __user *oact,
|
sys32_rt_sigaction(int sig, const struct sigaction32 __user *act, struct sigaction32 __user *oact,
|
||||||
size_t sigsetsize)
|
size_t sigsetsize)
|
||||||
|
|
|
@ -267,7 +267,7 @@
|
||||||
ENTRY_SAME(rt_sigreturn_wrapper)
|
ENTRY_SAME(rt_sigreturn_wrapper)
|
||||||
ENTRY_DIFF(rt_sigaction)
|
ENTRY_DIFF(rt_sigaction)
|
||||||
ENTRY_COMP(rt_sigprocmask) /* 175 */
|
ENTRY_COMP(rt_sigprocmask) /* 175 */
|
||||||
ENTRY_DIFF(rt_sigpending)
|
ENTRY_COMP(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
|
||||||
* all the paths use values which should be same wide and narrow.
|
* all the paths use values which should be same wide and narrow.
|
||||||
|
|
Loading…
Add table
Reference in a new issue