powerpc: switch to generic compat rt_sigqueueinfo()
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 25 Dec 2012 20:47:10 +0000 (15:47 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Sun, 3 Feb 2013 23:16:09 +0000 (18:16 -0500)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/powerpc/Kconfig
arch/powerpc/kernel/signal_32.c

index f54143cd5fa29a0d274133bc9f6408d8db8909b0..b23d707954098839201715b23fecae9a9a0ec0a7 100644 (file)
@@ -145,6 +145,7 @@ config PPC
        select MODULES_USE_ELF_RELA
        select CLONE_BACKWARDS
        select GENERIC_SIGALTSTACK
+       select GENERIC_COMPAT_RT_SIGQUEUEINFO
        select GENERIC_COMPAT_RT_SIGPROCMASK
        select GENERIC_COMPAT_RT_SIGPENDING
 
index de586801fd78590971e229e6a78026846dba614c..8a5ea4a8f5d881d803cefa3869d5f64a4559fad2 100644 (file)
@@ -688,30 +688,6 @@ int copy_siginfo_from_user32(siginfo_t *to, struct compat_siginfo __user *from)
 
        return 0;
 }
-
-/*
- * Note: it is necessary to treat pid and sig as unsigned ints, with the
- * corresponding cast to a signed int to insure that the proper conversion
- * (sign extension) between the register representation of a signed int
- * (msr in 32-bit mode) and the register representation of a signed int
- * (msr in 64-bit mode) is performed.
- */
-long compat_sys_rt_sigqueueinfo(u32 pid, u32 sig, compat_siginfo_t __user *uinfo)
-{
-       siginfo_t info;
-       int ret;
-       mm_segment_t old_fs = get_fs();
-
-       ret = copy_siginfo_from_user32(&info, uinfo);
-       if (unlikely(ret))
-               return ret;
-
-       set_fs (KERNEL_DS);
-       /* The __user pointer cast is valid becasuse of the set_fs() */
-       ret = sys_rt_sigqueueinfo((int)pid, (int)sig, (siginfo_t __user *) &info);
-       set_fs (old_fs);
-       return ret;
-}
 #endif /* CONFIG_PPC64 */
 
 /*
This page took 0.02596 seconds and 5 git commands to generate.