summaryrefslogtreecommitdiffstats
path: root/arch/microblaze/kernel
diff options
context:
space:
mode:
authorMatt Fleming <matt.fleming@intel.com>2012-05-11 10:58:03 +1000
committerAl Viro <viro@zeniv.linux.org.uk>2012-05-21 23:52:33 -0400
commitde8f2ddd69fc817b66138b36d656a2973d6afd8a (patch)
tree73ee9f6aafd5d4f4b38c9875e0dd8c1821c15c6d /arch/microblaze/kernel
parent4c3181bd3bde449d79b04e127b41ef02cade8005 (diff)
downloadlinux-de8f2ddd69fc817b66138b36d656a2973d6afd8a.tar.gz
linux-de8f2ddd69fc817b66138b36d656a2973d6afd8a.tar.bz2
linux-de8f2ddd69fc817b66138b36d656a2973d6afd8a.zip
microblaze: don't reimplement force_sigsegv()
Instead of open coding the sequence from force_sigsegv() just call it. This also fixes a bug because we were modifying ka->sa.sa_handler (which is a copy of sighand->action[]), whereas the intention of the code was to modify sighand->action[] directly. As the original code was working with a copy it had no effect on signal delivery. Acked-by: Oleg Nesterov <oleg@redhat.com> Acked-by: Michal Simek <monstr@monstr.eu> Signed-off-by: Matt Fleming <matt.fleming@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/microblaze/kernel')
-rw-r--r--arch/microblaze/kernel/signal.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/microblaze/kernel/signal.c b/arch/microblaze/kernel/signal.c
index 599671168980..90de06da3f6f 100644
--- a/arch/microblaze/kernel/signal.c
+++ b/arch/microblaze/kernel/signal.c
@@ -270,9 +270,7 @@ static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
return;
give_sigsegv:
- if (sig == SIGSEGV)
- ka->sa.sa_handler = SIG_DFL;
- force_sig(SIGSEGV, current);
+ force_sigsegv(sig, current);
}
/* Handle restarting system calls */