lkml.org 
[lkml]   [2003]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask parisc
Hi Willy,

Here is the parisc part.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

diff -ruN 2.5.58-32bit.5/arch/parisc/kernel/signal32.c 2.5.58-32bit.6/arch/parisc/kernel/signal32.c
--- 2.5.58-32bit.5/arch/parisc/kernel/signal32.c 2003-01-15 14:49:04.000000000 +1100
+++ 2.5.58-32bit.6/arch/parisc/kernel/signal32.c 2003-01-16 01:41:56.000000000 +1100
@@ -17,57 +17,6 @@
struct sigaction32 sa;
};

-static int
-put_old_sigset32(compat_old_sigset_t *up, old_sigset_t *set)
-{
- compat_old_sigset_t set32 = *set;
- return put_user(set32, up);
-}
-
-static int
-get_old_segset32(compat_old_sigset_t *up, old_sigset_t *set)
-{
- compat_old_sigset_t set32;
- int r;
-
- if ((r = get_user(set32, up)) == 0)
- *set = set32;
-
- return r;
-}
-
-long
-sys32_sigpending(compat_old_sigset_t *set)
-{
- extern long sys_sigpending(old_sigset_t *set);
- old_sigset_t pending;
- int ret;
-
- KERNEL_SYSCALL(ret, sys_sigpending, &pending);
-
- /* can't put_user an old_sigset_t -- it is too big */
- if (put_old_sigset32(set, &pending))
- return -EFAULT;
-
- return ret;
-}
-
-int sys32_sigprocmask(int how, compat_old_sigset_t *set,
- compat_old_sigset_t *oset)
-{
- extern int sys_sigprocmask(int how, old_sigset_t *set,
- old_sigset_t *oset);
- old_sigset_t s;
- int ret;
-
- if (set && get_old_segset32 (set, &s))
- return -EFAULT;
- KERNEL_SYSCALL(ret, sys_sigprocmask, how, set ? &s : NULL, oset ? &s : NULL);
- if (!ret && oset && put_old_sigset32(oset, &s))
- return -EFAULT;
- return ret;
-}
-
static inline void
sigset_32to64(sigset_t *s64, compat_sigset_t *s32)
{
diff -ruN 2.5.58-32bit.5/arch/parisc/kernel/syscall.S 2.5.58-32bit.6/arch/parisc/kernel/syscall.S
--- 2.5.58-32bit.5/arch/parisc/kernel/syscall.S 2003-01-15 11:20:31.000000000 +1100
+++ 2.5.58-32bit.6/arch/parisc/kernel/syscall.S 2003-01-16 01:46:03.000000000 +1100
@@ -428,7 +428,7 @@
ENTRY_SAME(setreuid) /* 70 */
ENTRY_SAME(setregid)
ENTRY_SAME(mincore)
- ENTRY_DIFF(sigpending)
+ ENTRY_COMP(sigpending)
ENTRY_SAME(sethostname)
/* Following 3 have linux-common-code structs containing longs -( */
ENTRY_DIFF(setrlimit) /* 75 */
@@ -496,7 +496,7 @@
ENTRY_DIFF(adjtimex)
ENTRY_SAME(mprotect) /* 125 */
/* old_sigset_t forced to 32 bits. Beware glibc sigset_t */
- ENTRY_DIFF(sigprocmask)
+ ENTRY_COMP(sigprocmask)
ENTRY_SAME(ni_syscall) /* create_module */
ENTRY_SAME(init_module)
ENTRY_SAME(delete_module)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 13:32    [from the cache]
©2003-2011 Jasper Spaans