linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: <linuxppc-dev@ozlabs.org>
Cc: Paul Mackerras <paulus@samba.org>, Christoph Hellwig <hch@lst.de>,
	cbe-oss-dev@ozlabs.org
Subject: [PATCH 16/21] powerpc: consolidate restore_sigmask
Date: Mon, 04 Jun 2007 15:15:51 +1000	[thread overview]
Message-ID: <20070604051556.3F278DDF75@ozlabs.org> (raw)
In-Reply-To: <1180934134.603289.870346178920.qpush@grosgo>

From: Christoph Hellwig <hch@lst.de>

restore_sigmask is exactly the same on 32 and 64bit, so move it to
common code. Also move _BLOCKABLE to signal.h to avoid defining it
multiple times.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---

 arch/powerpc/kernel/signal.c    |   15 +++++++++++++++
 arch/powerpc/kernel/signal.h    |    3 +++
 arch/powerpc/kernel/signal_32.c |   19 -------------------
 arch/powerpc/kernel/signal_64.c |   15 ---------------
 4 files changed, 18 insertions(+), 34 deletions(-)

Index: linux-cell/arch/powerpc/kernel/signal.c
===================================================================
--- linux-cell.orig/arch/powerpc/kernel/signal.c	2007-06-04 11:45:55.000000000 +1000
+++ linux-cell/arch/powerpc/kernel/signal.c	2007-06-04 11:45:58.000000000 +1000
@@ -12,6 +12,21 @@
 #include <linux/ptrace.h>
 #include <linux/signal.h>
 
+#include "signal.h"
+
+
+/*
+ * Restore the user process's signal mask
+ */
+void restore_sigmask(sigset_t *set)
+{
+	sigdelsetmask(set, ~_BLOCKABLE);
+	spin_lock_irq(&current->sighand->siglock);
+	current->blocked = *set;
+	recalc_sigpending();
+	spin_unlock_irq(&current->sighand->siglock);
+}
+
 void check_syscall_restart(struct pt_regs *regs, struct k_sigaction *ka,
 			   int has_handler)
 {
Index: linux-cell/arch/powerpc/kernel/signal.h
===================================================================
--- linux-cell.orig/arch/powerpc/kernel/signal.h	2007-06-04 11:45:41.000000000 +1000
+++ linux-cell/arch/powerpc/kernel/signal.h	2007-06-04 11:45:58.000000000 +1000
@@ -10,6 +10,9 @@
 #ifndef _POWERPC_ARCH_SIGNAL_H
 #define _POWERPC_ARCH_SIGNAL_H
 
+#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
+
+extern void restore_sigmask(sigset_t *set);
 extern void check_syscall_restart(struct pt_regs *regs, struct k_sigaction *ka,
 				  int has_handler);
 
Index: linux-cell/arch/powerpc/kernel/signal_32.c
===================================================================
--- linux-cell.orig/arch/powerpc/kernel/signal_32.c	2007-06-04 11:45:55.000000000 +1000
+++ linux-cell/arch/powerpc/kernel/signal_32.c	2007-06-04 11:45:58.000000000 +1000
@@ -55,8 +55,6 @@
 
 #undef DEBUG_SIG
 
-#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
-
 #ifdef CONFIG_PPC64
 #define do_signal	do_signal32
 #define sys_sigsuspend	compat_sys_sigsuspend
@@ -697,23 +695,6 @@ int compat_sys_sigaltstack(u32 __new, u3
 }
 #endif /* CONFIG_PPC64 */
 
-
-/*
- * Restore the user process's signal mask
- */
-#ifdef CONFIG_PPC64
-extern void restore_sigmask(sigset_t *set);
-#else /* CONFIG_PPC64 */
-static void restore_sigmask(sigset_t *set)
-{
-	sigdelsetmask(set, ~_BLOCKABLE);
-	spin_lock_irq(&current->sighand->siglock);
-	current->blocked = *set;
-	recalc_sigpending();
-	spin_unlock_irq(&current->sighand->siglock);
-}
-#endif
-
 /*
  * Set up a signal frame for a "real-time" signal handler
  * (one which gets siginfo).
Index: linux-cell/arch/powerpc/kernel/signal_64.c
===================================================================
--- linux-cell.orig/arch/powerpc/kernel/signal_64.c	2007-06-04 11:45:55.000000000 +1000
+++ linux-cell/arch/powerpc/kernel/signal_64.c	2007-06-04 11:45:58.000000000 +1000
@@ -38,8 +38,6 @@
 
 #define DEBUG_SIG 0
 
-#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
-
 #define GP_REGS_SIZE	min(sizeof(elf_gregset_t), sizeof(struct pt_regs))
 #define FP_REGS_SIZE	sizeof(elf_fpregset_t)
 
@@ -243,19 +241,6 @@ static long setup_trampoline(unsigned in
 }
 
 /*
- * Restore the user process's signal mask (also used by signal32.c)
- */
-void restore_sigmask(sigset_t *set)
-{
-	sigdelsetmask(set, ~_BLOCKABLE);
-	spin_lock_irq(&current->sighand->siglock);
-	current->blocked = *set;
-	recalc_sigpending();
-	spin_unlock_irq(&current->sighand->siglock);
-}
-
-
-/*
  * Handle {get,set,swap}_context operations
  */
 int sys_swapcontext(struct ucontext __user *old_ctx,

  parent reply	other threads:[~2007-06-04  5:15 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-04  5:15 [PATCH 0/21] This is my pending series for 2.6.23 Benjamin Herrenschmidt
2007-06-04  5:15 ` [PATCH 1/21] unmap_vm_area becomes unmap_kernel_range for the public Benjamin Herrenschmidt
2007-06-04  5:15 ` [PATCH 2/21] powerpc: Rewrite IO allocation & mapping on powerpc64 Benjamin Herrenschmidt
2007-06-04  5:15 ` [PATCH 3/21] spufs: Add support for SPU single stepping Benjamin Herrenschmidt
2007-06-04 13:06   ` Jeremy Kerr
2007-06-04  5:15 ` [PATCH 4/21] spufs: Add a "capabilities" file to spu contexts Benjamin Herrenschmidt
2007-06-04 13:06   ` Jeremy Kerr
2007-06-04  5:15 ` [PATCH 5/21] powerpc: Disable broken PPC_PTRACE_GETFPREGS on 32 bits Benjamin Herrenschmidt
2007-06-04  5:15 ` [PATCH 6/21] powerpc: ptrace cleanups Benjamin Herrenschmidt
2007-06-04  5:15 ` [PATCH 7/21] powerpc: ptrace updates & new better requests Benjamin Herrenschmidt
2007-06-04  5:15 ` [PATCH 8/21] powerpc: uninline common ptrace bits Benjamin Herrenschmidt
2007-06-04  5:15 ` [PATCH 9/21] powerpc: remove some useless ifdef's in ptrace Benjamin Herrenschmidt
2007-06-04  5:15 ` [PATCH 10/21] powerpc: Allow ptrace write to pt_regs trap and orig_r3 Benjamin Herrenschmidt
2007-06-04  5:15 ` [PATCH 12/21] powerpc: ptrace can set DABR on both 32 and 64 bits Benjamin Herrenschmidt
2007-06-04  5:15 ` [PATCH 11/21] powerpc: ptrace shouldn't touch FP exec mode Benjamin Herrenschmidt
2007-06-04  5:15 ` [PATCH 13/21] powerpc: Always apply DABR changes on context switches Benjamin Herrenschmidt
2007-06-04  5:15 ` [PATCH 14/21] powerpc: Make syscall restart code more common Benjamin Herrenschmidt
2007-06-04  7:06   ` Christoph Hellwig
2007-06-04  5:15 ` [PATCH 15/21] powerpc: consolidate sys_sigaltstack Benjamin Herrenschmidt
2007-06-04  5:15 ` Benjamin Herrenschmidt [this message]
2007-06-04  5:15 ` [PATCH 17/21] powerpc: consolidate do_signal Benjamin Herrenschmidt
2007-06-04  5:15 ` [PATCH 18/21] powerpc: Remove obsolete freezer bits Benjamin Herrenschmidt
2007-06-04  5:15 ` [PATCH 19/21] powerpc: Merge creation of signal frame Benjamin Herrenschmidt
2007-06-04  7:22   ` PATCH 19/21] powerpc: Merge creation of signal frame (#2) Benjamin Herrenschmidt
2007-06-04  8:01     ` Christoph Hellwig
2007-06-04 10:04       ` Benjamin Herrenschmidt
2007-06-04  5:15 ` [PATCH 20/21] powerpc: remove #ifdef around set_dabr in signal code Benjamin Herrenschmidt
2007-06-04  5:15 ` [PATCH 21/21] powerpc: Less ifdef's in signal.c/signal.h Benjamin Herrenschmidt
2007-06-04  7:00 ` [PATCH 0/21] This is my pending series for 2.6.23 Benjamin Herrenschmidt
2007-06-04  7:21   ` Benjamin Herrenschmidt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070604051556.3F278DDF75@ozlabs.org \
    --to=benh@kernel.crashing.org \
    --cc=cbe-oss-dev@ozlabs.org \
    --cc=hch@lst.de \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=paulus@samba.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).