* [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask ppc64
2003-01-16 3:41 [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask generic Stephen Rothwell
@ 2003-01-16 3:43 ` Stephen Rothwell
2003-01-16 3:45 ` [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask sparc64 Stephen Rothwell
` (5 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Stephen Rothwell @ 2003-01-16 3:43 UTC (permalink / raw)
To: anton; +Cc: torvalds, linux-kernel
Hi Anton,
Here is the ppc64 part.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
diff -ruN 2.5.58-32bit.5/arch/ppc64/kernel/misc.S 2.5.58-32bit.6/arch/ppc64/kernel/misc.S
--- 2.5.58-32bit.5/arch/ppc64/kernel/misc.S 2003-01-14 09:57:51.000000000 +1100
+++ 2.5.58-32bit.6/arch/ppc64/kernel/misc.S 2003-01-16 01:43:58.000000000 +1100
@@ -541,7 +541,7 @@
.llong .sys_setreuid /* 70 */
.llong .sys_setregid
.llong .sys_sigsuspend
- .llong .sys32_sigpending
+ .llong .compat_sys_sigpending
.llong .sys32_sethostname
.llong .sys32_setrlimit /* 75 */
.llong .sys32_old_getrlimit
@@ -594,7 +594,7 @@
.llong .sys_ni_syscall /* old modify_ldt syscall */
.llong .sys32_adjtimex
.llong .sys_mprotect /* 125 */
- .llong .sys32_sigprocmask
+ .llong .compat_sys_sigprocmask
.llong .sys_ni_syscall /* old create_module syscall */
.llong .sys32_init_module
.llong .sys32_delete_module
diff -ruN 2.5.58-32bit.5/arch/ppc64/kernel/signal32.c 2.5.58-32bit.6/arch/ppc64/kernel/signal32.c
--- 2.5.58-32bit.5/arch/ppc64/kernel/signal32.c 2003-01-15 14:55:15.000000000 +1100
+++ 2.5.58-32bit.6/arch/ppc64/kernel/signal32.c 2003-01-16 01:44:35.000000000 +1100
@@ -104,8 +104,6 @@
*
* System Calls
* sigaction sys32_sigaction
- * sigpending sys32_sigpending
- * sigprocmask sys32_sigprocmask
* sigreturn sys32_sigreturn
*
* Note sigsuspend has no special 32 bit routine - uses the 64 bit routine
@@ -147,54 +145,6 @@
}
-extern long sys_sigpending(old_sigset_t *set);
-
-long sys32_sigpending(compat_old_sigset_t *set)
-{
- old_sigset_t s;
- int ret;
- mm_segment_t old_fs = get_fs();
-
- set_fs(KERNEL_DS);
- ret = sys_sigpending(&s);
- set_fs(old_fs);
- if (put_user(s, set))
- return -EFAULT;
- return ret;
-}
-
-
-extern long sys_sigprocmask(int how, old_sigset_t *set,
- old_sigset_t *oset);
-
-/*
- * Note: it is necessary to treat how as an unsigned int, 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 sys32_sigprocmask(u32 how, compat_old_sigset_t *set,
- compat_old_sigset_t *oset)
-{
- old_sigset_t s;
- int ret;
- mm_segment_t old_fs = get_fs();
-
- if (set && get_user(s, set))
- return -EFAULT;
- set_fs(KERNEL_DS);
- ret = sys_sigprocmask((int)how, set ? &s : NULL, oset ? &s : NULL);
- set_fs(old_fs);
- if (ret)
- return ret;
- if (oset && put_user (s, oset))
- return -EFAULT;
- return 0;
-}
-
-
-
/*
* When we have signals to deliver, we set up on the
* user stack, going down from the original stack pointer:
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask sparc64
2003-01-16 3:41 [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask generic Stephen Rothwell
2003-01-16 3:43 ` [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask ppc64 Stephen Rothwell
@ 2003-01-16 3:45 ` Stephen Rothwell
2003-01-16 3:46 ` [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask x86_64 Stephen Rothwell
` (4 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Stephen Rothwell @ 2003-01-16 3:45 UTC (permalink / raw)
To: davem; +Cc: torvalds, linux-kernel
Hi Dave,
Hare is the sparc64 part.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
diff -ruN 2.5.58-32bit.5/arch/sparc64/kernel/sys_sparc32.c 2.5.58-32bit.6/arch/sparc64/kernel/sys_sparc32.c
--- 2.5.58-32bit.5/arch/sparc64/kernel/sys_sparc32.c 2003-01-15 14:54:34.000000000 +1100
+++ 2.5.58-32bit.6/arch/sparc64/kernel/sys_sparc32.c 2003-01-16 01:43:41.000000000 +1100
@@ -1679,23 +1679,6 @@
return ret;
}
-extern asmlinkage int sys_sigprocmask(int how, old_sigset_t *set, old_sigset_t *oset);
-
-asmlinkage int sys32_sigprocmask(int how, compat_old_sigset_t *set, compat_old_sigset_t *oset)
-{
- old_sigset_t s;
- int ret;
- mm_segment_t old_fs = get_fs();
-
- if (set && get_user (s, set)) return -EFAULT;
- set_fs (KERNEL_DS);
- ret = sys_sigprocmask(how, set ? &s : NULL, oset ? &s : NULL);
- set_fs (old_fs);
- if (ret) return ret;
- if (oset && put_user (s, oset)) return -EFAULT;
- return 0;
-}
-
extern asmlinkage int sys_rt_sigprocmask(int how, sigset_t *set, sigset_t *oset, size_t sigsetsize);
asmlinkage int sys32_rt_sigprocmask(int how, compat_sigset_t *set, compat_sigset_t *oset, compat_size_t sigsetsize)
@@ -1732,21 +1715,6 @@
return 0;
}
-extern asmlinkage int sys_sigpending(old_sigset_t *set);
-
-asmlinkage int sys32_sigpending(compat_old_sigset_t *set)
-{
- old_sigset_t s;
- int ret;
- mm_segment_t old_fs = get_fs();
-
- set_fs (KERNEL_DS);
- ret = sys_sigpending(&s);
- set_fs (old_fs);
- if (put_user (s, set)) return -EFAULT;
- return ret;
-}
-
extern asmlinkage int sys_rt_sigpending(sigset_t *set, size_t sigsetsize);
asmlinkage int sys32_rt_sigpending(compat_sigset_t *set, compat_size_t sigsetsize)
diff -ruN 2.5.58-32bit.5/arch/sparc64/kernel/systbls.S 2.5.58-32bit.6/arch/sparc64/kernel/systbls.S
--- 2.5.58-32bit.5/arch/sparc64/kernel/systbls.S 2003-01-14 09:57:52.000000000 +1100
+++ 2.5.58-32bit.6/arch/sparc64/kernel/systbls.S 2003-01-16 01:43:27.000000000 +1100
@@ -55,7 +55,7 @@
.word sys_quotactl, sys_set_tid_address, sys32_mount, sys_ustat, sys_setxattr
/*170*/ .word sys_lsetxattr, sys_fsetxattr, sys_getxattr, sys_lgetxattr, sys32_getdents
.word sys_setsid, sys_fchdir, sys_fgetxattr, sys_listxattr, sys_llistxattr
-/*180*/ .word sys_flistxattr, sys_removexattr, sys_lremovexattr, sys32_sigpending, sys_ni_syscall
+/*180*/ .word sys_flistxattr, sys_removexattr, sys_lremovexattr, compat_sys_sigpending, sys_ni_syscall
.word sys_setpgid, sys_fremovexattr, sys_tkill, sys_exit_group, sparc64_newuname
/*190*/ .word sys32_init_module, sparc64_personality, sys_remap_file_pages, sys_epoll_create, sys_epoll_ctl
.word sys_epoll_wait, sys_nis_syscall, sys_getppid, sys32_sigaction, sys_sgetmask
@@ -63,7 +63,7 @@
.word sys32_readahead, sys32_socketcall, sys_syslog, sys32_lookup_dcookie, sys_nis_syscall
/*210*/ .word sys_nis_syscall, sys_nis_syscall, sys_waitpid, sys_swapoff, sys32_sysinfo
.word sys32_ipc, sys32_sigreturn, sys_clone, sys_nis_syscall, sys32_adjtimex
-/*220*/ .word sys32_sigprocmask, sys_ni_syscall, sys32_delete_module, sys_ni_syscall, sys_getpgid
+/*220*/ .word compat_sys_sigprocmask, sys_ni_syscall, sys32_delete_module, sys_ni_syscall, sys_getpgid
.word sys32_bdflush, sys32_sysfs, sys_nis_syscall, sys32_setfsuid16, sys32_setfsgid16
/* 234 and 235 were for the hugetlb syscalls. They can be reused */
@@ -206,7 +206,7 @@
.word sunos_nosys, sunos_getdents, sys_setsid
.word sys_fchdir, sunos_nosys, sunos_nosys
.word sunos_nosys, sunos_nosys, sunos_nosys
- .word sunos_nosys, sys32_sigpending, sunos_nosys
+ .word sunos_nosys, compat_sys_sigpending, sunos_nosys
.word sys_setpgid, sunos_pathconf, sunos_fpathconf
.word sunos_sysconf, sunos_uname, sunos_nosys
.word sunos_nosys, sunos_nosys, sunos_nosys
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask x86_64
2003-01-16 3:41 [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask generic Stephen Rothwell
2003-01-16 3:43 ` [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask ppc64 Stephen Rothwell
2003-01-16 3:45 ` [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask sparc64 Stephen Rothwell
@ 2003-01-16 3:46 ` Stephen Rothwell
2003-01-16 3:47 ` [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask ia64 Stephen Rothwell
` (3 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Stephen Rothwell @ 2003-01-16 3:46 UTC (permalink / raw)
To: ak; +Cc: torvalds, linux-kernel
Hi Andi,
Here is the x86_64 part.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
diff -ruN 2.5.58-32bit.5/arch/x86_64/ia32/ia32entry.S 2.5.58-32bit.6/arch/x86_64/ia32/ia32entry.S
--- 2.5.58-32bit.5/arch/x86_64/ia32/ia32entry.S 2003-01-13 11:07:06.000000000 +1100
+++ 2.5.58-32bit.6/arch/x86_64/ia32/ia32entry.S 2003-01-16 01:44:51.000000000 +1100
@@ -273,7 +273,7 @@
.quad sys_setreuid16 /* 70 */
.quad sys_setregid16
.quad stub32_sigsuspend
- .quad sys32_sigpending
+ .quad compat_sys_sigpending
.quad sys_sethostname
.quad sys32_setrlimit /* 75 */
.quad sys32_old_getrlimit /* old_getrlimit */
@@ -326,7 +326,7 @@
.quad sys32_modify_ldt
.quad sys32_adjtimex
.quad sys32_mprotect /* 125 */
- .quad sys32_sigprocmask
+ .quad compat_sys_sigprocmask
.quad sys32_module_warning /* create_module */
.quad sys_init_module
.quad sys_delete_module
diff -ruN 2.5.58-32bit.5/arch/x86_64/ia32/sys_ia32.c 2.5.58-32bit.6/arch/x86_64/ia32/sys_ia32.c
--- 2.5.58-32bit.5/arch/x86_64/ia32/sys_ia32.c 2003-01-15 16:04:33.000000000 +1100
+++ 2.5.58-32bit.6/arch/x86_64/ia32/sys_ia32.c 2003-01-16 01:45:05.000000000 +1100
@@ -1224,41 +1224,6 @@
return ret;
}
-extern asmlinkage long sys_sigprocmask(int how, old_sigset_t *set,
- old_sigset_t *oset);
-
-asmlinkage long
-sys32_sigprocmask(int how, compat_old_sigset_t *set, compat_old_sigset_t *oset)
-{
- old_sigset_t s;
- int ret;
- mm_segment_t old_fs = get_fs();
-
- if (set && get_user (s, set)) return -EFAULT;
- set_fs (KERNEL_DS);
- ret = sys_sigprocmask(how, set ? &s : NULL, oset ? &s : NULL);
- set_fs (old_fs);
- if (ret) return ret;
- if (oset && put_user (s, oset)) return -EFAULT;
- return 0;
-}
-
-extern asmlinkage long sys_sigpending(old_sigset_t *set);
-
-asmlinkage long
-sys32_sigpending(compat_old_sigset_t *set)
-{
- old_sigset_t s;
- int ret;
- mm_segment_t old_fs = get_fs();
-
- set_fs (KERNEL_DS);
- ret = sys_sigpending(&s);
- set_fs (old_fs);
- if (put_user (s, set)) return -EFAULT;
- return ret;
-}
-
extern asmlinkage long sys_rt_sigpending(sigset_t *set, size_t sigsetsize);
asmlinkage long
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask ia64
2003-01-16 3:41 [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask generic Stephen Rothwell
` (2 preceding siblings ...)
2003-01-16 3:46 ` [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask x86_64 Stephen Rothwell
@ 2003-01-16 3:47 ` Stephen Rothwell
2003-01-16 3:49 ` [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask s390x Stephen Rothwell
` (2 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Stephen Rothwell @ 2003-01-16 3:47 UTC (permalink / raw)
To: davidm; +Cc: torvalds, linux-kernel
Hi David,
Here is the ia64 part.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
diff -ruN 2.5.58-32bit.5/arch/ia64/ia32/ia32_entry.S 2.5.58-32bit.6/arch/ia64/ia32/ia32_entry.S
--- 2.5.58-32bit.5/arch/ia64/ia32/ia32_entry.S 2003-01-13 11:07:06.000000000 +1100
+++ 2.5.58-32bit.6/arch/ia64/ia32/ia32_entry.S 2003-01-16 01:39:59.000000000 +1100
@@ -264,7 +264,7 @@
data8 sys_setreuid /* 16-bit version */ /* 70 */
data8 sys_setregid /* 16-bit version */
data8 sys32_sigsuspend
- data8 sys32_sigpending
+ data8 compat_sys_sigpending
data8 sys_sethostname
data8 sys32_setrlimit /* 75 */
data8 sys32_old_getrlimit
@@ -317,7 +317,7 @@
data8 sys32_modify_ldt
data8 sys32_ni_syscall /* adjtimex */
data8 sys32_mprotect /* 125 */
- data8 sys32_sigprocmask
+ data8 compat_sys_sigprocmask
data8 sys32_ni_syscall /* create_module */
data8 sys32_ni_syscall /* init_module */
data8 sys32_ni_syscall /* delete_module */
diff -ruN 2.5.58-32bit.5/arch/ia64/ia32/ia32_signal.c 2.5.58-32bit.6/arch/ia64/ia32/ia32_signal.c
--- 2.5.58-32bit.5/arch/ia64/ia32/ia32_signal.c 2003-01-15 16:03:42.000000000 +1100
+++ 2.5.58-32bit.6/arch/ia64/ia32/ia32_signal.c 2003-01-16 01:39:47.000000000 +1100
@@ -587,12 +587,6 @@
}
asmlinkage long
-sys32_sigprocmask (int how, unsigned int *set, unsigned int *oset)
-{
- return sys32_rt_sigprocmask(how, (compat_sigset_t *) set, (compat_sigset_t *) oset, sizeof(*set));
-}
-
-asmlinkage long
sys32_rt_sigtimedwait (compat_sigset_t *uthese, siginfo_t32 *uinfo,
struct compat_timespec *uts, unsigned int sigsetsize)
{
diff -ruN 2.5.58-32bit.5/arch/ia64/ia32/sys_ia32.c 2.5.58-32bit.6/arch/ia64/ia32/sys_ia32.c
--- 2.5.58-32bit.5/arch/ia64/ia32/sys_ia32.c 2003-01-13 11:07:06.000000000 +1100
+++ 2.5.58-32bit.6/arch/ia64/ia32/sys_ia32.c 2003-01-16 00:30:16.000000000 +1100
@@ -3420,12 +3420,6 @@
return ret;
}
-asmlinkage long
-sys32_sigpending (unsigned int *set)
-{
- return do_sigpending(set, sizeof(*set));
-}
-
struct sysinfo32 {
s32 uptime;
u32 loads[3];
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask s390x
2003-01-16 3:41 [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask generic Stephen Rothwell
` (3 preceding siblings ...)
2003-01-16 3:47 ` [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask ia64 Stephen Rothwell
@ 2003-01-16 3:49 ` Stephen Rothwell
2003-01-16 3:50 ` [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask mips64 Stephen Rothwell
2003-01-16 3:51 ` [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask parisc Stephen Rothwell
6 siblings, 0 replies; 9+ messages in thread
From: Stephen Rothwell @ 2003-01-16 3:49 UTC (permalink / raw)
To: torvalds; +Cc: linux-kernel, schwidefsky
Hi Linus,
Here is the s390x part.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
diff -ruN 2.5.58-32bit.5/arch/s390x/kernel/entry.S 2.5.58-32bit.6/arch/s390x/kernel/entry.S
--- 2.5.58-32bit.5/arch/s390x/kernel/entry.S 2003-01-14 09:57:51.000000000 +1100
+++ 2.5.58-32bit.6/arch/s390x/kernel/entry.S 2003-01-16 01:42:59.000000000 +1100
@@ -464,7 +464,7 @@
.long SYSCALL(sys_ni_syscall,sys32_setreuid16_wrapper) /* old setreuid16 syscall */
.long SYSCALL(sys_ni_syscall,sys32_setregid16_wrapper) /* old setregid16 syscall */
.long SYSCALL(sys_sigsuspend_glue,sys32_sigsuspend_glue)
- .long SYSCALL(sys_sigpending,sys32_sigpending_wrapper)
+ .long SYSCALL(sys_sigpending,compat_sys_sigpending_wrapper)
.long SYSCALL(sys_sethostname,sys32_sethostname_wrapper)
.long SYSCALL(sys_setrlimit,sys32_setrlimit_wrapper) /* 75 */
.long SYSCALL(sys_getrlimit,sys32_old_getrlimit_wrapper)
@@ -517,7 +517,7 @@
.long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* modify_ldt for i386 */
.long SYSCALL(sys_adjtimex,sys32_adjtimex_wrapper)
.long SYSCALL(sys_mprotect,sys32_mprotect_wrapper) /* 125 */
- .long SYSCALL(sys_sigprocmask,sys32_sigprocmask_wrapper)
+ .long SYSCALL(sys_sigprocmask,compat_sys_sigprocmask_wrapper)
.long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* old "create module" */
.long SYSCALL(sys_init_module,sys32_init_module_wrapper)
.long SYSCALL(sys_delete_module,sys32_delete_module_wrapper)
diff -ruN 2.5.58-32bit.5/arch/s390x/kernel/linux32.c 2.5.58-32bit.6/arch/s390x/kernel/linux32.c
--- 2.5.58-32bit.5/arch/s390x/kernel/linux32.c 2003-01-15 14:51:38.000000000 +1100
+++ 2.5.58-32bit.6/arch/s390x/kernel/linux32.c 2003-01-16 01:43:15.000000000 +1100
@@ -1621,23 +1621,6 @@
return ret;
}
-extern asmlinkage int sys_sigprocmask(int how, old_sigset_t *set, old_sigset_t *oset);
-
-asmlinkage int sys32_sigprocmask(int how, compat_old_sigset_t *set, compat_old_sigset_t *oset)
-{
- old_sigset_t s;
- int ret;
- mm_segment_t old_fs = get_fs();
-
- if (set && get_user (s, set)) return -EFAULT;
- set_fs (KERNEL_DS);
- ret = sys_sigprocmask(how, set ? &s : NULL, oset ? &s : NULL);
- set_fs (old_fs);
- if (ret) return ret;
- if (oset && put_user (s, oset)) return -EFAULT;
- return 0;
-}
-
extern asmlinkage int sys_rt_sigprocmask(int how, sigset_t *set, sigset_t *oset, size_t sigsetsize);
asmlinkage int sys32_rt_sigprocmask(int how, compat_sigset_t *set, compat_sigset_t *oset, compat_size_t sigsetsize)
@@ -1674,21 +1657,6 @@
return 0;
}
-extern asmlinkage int sys_sigpending(old_sigset_t *set);
-
-asmlinkage int sys32_sigpending(compat_old_sigset_t *set)
-{
- old_sigset_t s;
- int ret;
- mm_segment_t old_fs = get_fs();
-
- set_fs (KERNEL_DS);
- ret = sys_sigpending(&s);
- set_fs (old_fs);
- if (put_user (s, set)) return -EFAULT;
- return ret;
-}
-
extern asmlinkage int sys_rt_sigpending(sigset_t *set, size_t sigsetsize);
asmlinkage int sys32_rt_sigpending(compat_sigset_t *set, compat_size_t sigsetsize)
diff -ruN 2.5.58-32bit.5/arch/s390x/kernel/wrapper32.S 2.5.58-32bit.6/arch/s390x/kernel/wrapper32.S
--- 2.5.58-32bit.5/arch/s390x/kernel/wrapper32.S 2003-01-14 09:57:51.000000000 +1100
+++ 2.5.58-32bit.6/arch/s390x/kernel/wrapper32.S 2003-01-16 01:42:40.000000000 +1100
@@ -288,10 +288,10 @@
#sys32_sigsuspend_wrapper # done in sigsuspend_glue
- .globl sys32_sigpending_wrapper
-sys32_sigpending_wrapper:
- llgtr %r2,%r2 # old_sigset_emu31_t *
- jg sys32_sigpending # branch to system call
+ .globl compat_sys_sigpending_wrapper
+compat_sys_sigpending_wrapper:
+ llgtr %r2,%r2 # compat_old_sigset_t *
+ jg compat_sys_sigpending # branch to system call
.globl sys32_sethostname_wrapper
sys32_sethostname_wrapper:
@@ -557,12 +557,12 @@
llgfr %r4,%r4 # unsigned long
jg sys_mprotect # branch to system call
- .globl sys32_sigprocmask_wrapper
-sys32_sigprocmask_wrapper:
+ .globl compat_sys_sigprocmask_wrapper
+compat_sys_sigprocmask_wrapper:
lgfr %r2,%r2 # int
- llgtr %r3,%r3 # old_sigset_emu31 *
- llgtr %r4,%r4 # old_sigset_emu31 *
- jg sys32_sigprocmask # branch to system call
+ llgtr %r3,%r3 # compat_old_sigset_t *
+ llgtr %r4,%r4 # compat_old_sigset_t *
+ jg compat_sys_sigprocmask # branch to system call
.globl sys32_init_module_wrapper
sys32_init_module_wrapper:
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask mips64
2003-01-16 3:41 [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask generic Stephen Rothwell
` (4 preceding siblings ...)
2003-01-16 3:49 ` [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask s390x Stephen Rothwell
@ 2003-01-16 3:50 ` Stephen Rothwell
2003-01-16 3:53 ` Ralf Baechle
2003-01-16 3:51 ` [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask parisc Stephen Rothwell
6 siblings, 1 reply; 9+ messages in thread
From: Stephen Rothwell @ 2003-01-16 3:50 UTC (permalink / raw)
To: ralf; +Cc: torvalds, linux-kernel
Hi Ralf,
Here is the mips64 part.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
diff -ruN 2.5.58-32bit.5/arch/mips64/kernel/scall_o32.S 2.5.58-32bit.6/arch/mips64/kernel/scall_o32.S
--- 2.5.58-32bit.5/arch/mips64/kernel/scall_o32.S 2003-01-13 11:07:06.000000000 +1100
+++ 2.5.58-32bit.6/arch/mips64/kernel/scall_o32.S 2003-01-16 01:40:09.000000000 +1100
@@ -306,7 +306,7 @@
sys sys_setreuid 2 /* 4070 */
sys sys_setregid 2
sys sys32_sigsuspend 0
- sys sys32_sigpending 1
+ sys compat_sys_sigpending 1
sys sys_sethostname 2
sys sys32_setrlimit 2 /* 4075 */
sys sys32_getrlimit 2
@@ -359,7 +359,7 @@
sys sys_ni_syscall 0 /* sys_modify_ldt */
sys sys32_adjtimex 1
sys sys_mprotect 3 /* 4125 */
- sys sys32_sigprocmask 3
+ sys compat_sys_sigprocmask 3
sys sys_create_module 2
sys sys_init_module 5
sys sys_delete_module 1
diff -ruN 2.5.58-32bit.5/arch/mips64/kernel/signal32.c 2.5.58-32bit.6/arch/mips64/kernel/signal32.c
--- 2.5.58-32bit.5/arch/mips64/kernel/signal32.c 2003-01-15 16:12:21.000000000 +1100
+++ 2.5.58-32bit.6/arch/mips64/kernel/signal32.c 2003-01-16 01:40:36.000000000 +1100
@@ -694,44 +694,6 @@
return 0;
}
-extern asmlinkage int sys_sigprocmask(int how, old_sigset_t *set,
- old_sigset_t *oset);
-
-asmlinkage int sys32_sigprocmask(int how, compat_old_sigset_t *set,
- compat_old_sigset_t *oset)
-{
- old_sigset_t s;
- int ret;
- mm_segment_t old_fs = get_fs();
-
- if (set && get_user (s, set))
- return -EFAULT;
- set_fs (KERNEL_DS);
- ret = sys_sigprocmask(how, set ? &s : NULL, oset ? &s : NULL);
- set_fs (old_fs);
- if (!ret && oset && put_user (s, oset))
- return -EFAULT;
- return ret;
-}
-
-asmlinkage long sys_sigpending(old_sigset_t *set);
-
-asmlinkage int sys32_sigpending(compat_old_sigset_t *set)
-{
- old_sigset_t pending;
- int ret;
- mm_segment_t old_fs = get_fs();
-
- set_fs (KERNEL_DS);
- ret = sys_sigpending(&pending);
- set_fs (old_fs);
-
- if (put_user(pending, set))
- return -EFAULT;
-
- return ret;
-}
-
asmlinkage int sys32_rt_sigaction(int sig, const struct sigaction32 *act,
struct sigaction32 *oact,
unsigned int sigsetsize)
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask parisc
2003-01-16 3:41 [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask generic Stephen Rothwell
` (5 preceding siblings ...)
2003-01-16 3:50 ` [PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmask mips64 Stephen Rothwell
@ 2003-01-16 3:51 ` Stephen Rothwell
6 siblings, 0 replies; 9+ messages in thread
From: Stephen Rothwell @ 2003-01-16 3:51 UTC (permalink / raw)
To: matthew; +Cc: torvalds, linux-kernel
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)
^ permalink raw reply [flat|nested] 9+ messages in thread