aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-12-25 14:55:56 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2013-02-03 18:16:08 -0500
commitcfe0467c4e1390ba9386389e722d1d409201a5dc (patch)
treef1fa1238b55c031bfae871e3a7c678ebc0c344f3 /arch/powerpc
parent451a651d33b240481b063765016472c0be10d350 (diff)
powerpc: switch to generic compat rt_sigpending()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/Kconfig1
-rw-r--r--arch/powerpc/kernel/signal_32.c18
2 files changed, 1 insertions, 18 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index e43cd208dd07..f54143cd5fa2 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -146,6 +146,7 @@ config PPC
146 select CLONE_BACKWARDS 146 select CLONE_BACKWARDS
147 select GENERIC_SIGALTSTACK 147 select GENERIC_SIGALTSTACK
148 select GENERIC_COMPAT_RT_SIGPROCMASK 148 select GENERIC_COMPAT_RT_SIGPROCMASK
149 select GENERIC_COMPAT_RT_SIGPENDING
149 150
150config EARLY_PRINTK 151config EARLY_PRINTK
151 bool 152 bool
diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c
index 5d2fadcdfba8..de586801fd78 100644
--- a/arch/powerpc/kernel/signal_32.c
+++ b/arch/powerpc/kernel/signal_32.c
@@ -620,24 +620,6 @@ long compat_sys_rt_sigaction(int sig, const struct sigaction32 __user *act,
620 return ret; 620 return ret;
621} 621}
622 622
623long compat_sys_rt_sigpending(compat_sigset_t __user *set, compat_size_t sigsetsize)
624{
625 sigset_t s;
626 int ret;
627 mm_segment_t old_fs = get_fs();
628
629 set_fs(KERNEL_DS);
630 /* The __user pointer cast is valid because of the set_fs() */
631 ret = sys_rt_sigpending((sigset_t __user *) &s, sigsetsize);
632 set_fs(old_fs);
633 if (!ret) {
634 if (put_sigset_t(set, &s))
635 return -EFAULT;
636 }
637 return ret;
638}
639
640
641int copy_siginfo_to_user32(struct compat_siginfo __user *d, siginfo_t *s) 623int copy_siginfo_to_user32(struct compat_siginfo __user *d, siginfo_t *s)
642{ 624{
643 int err; 625 int err;