[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH][COMPAT] compat_sys_sigpending and compat_sys_sigprocmaskppc64


Hi Anton,

Here is the ppc64 part.
-- 
Cheers,
Stephen Rothwell                    sfr _at_ 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:
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo _at_ vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
References: