diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-12-26 01:30:53 +0100 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-02-04 00:15:53 +0100 |
commit | eb2f256682e5af4b890d1f3cce4a4d4b62ffa655 (patch) | |
tree | dde04f6f419c6157938420de669830f5b789da94 /arch/cris/arch-v32/kernel | |
parent | cris: switch to generic old sigsuspend (diff) | |
download | linux-eb2f256682e5af4b890d1f3cce4a4d4b62ffa655.tar.xz linux-eb2f256682e5af4b890d1f3cce4a4d4b62ffa655.zip |
cris: switch to generic old sigaction()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/cris/arch-v32/kernel')
-rw-r--r-- | arch/cris/arch-v32/kernel/signal.c | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/arch/cris/arch-v32/kernel/signal.c b/arch/cris/arch-v32/kernel/signal.c index 4ccf144b49a9..cee740732d1f 100644 --- a/arch/cris/arch-v32/kernel/signal.c +++ b/arch/cris/arch-v32/kernel/signal.c @@ -52,42 +52,6 @@ void do_signal(int restart, struct pt_regs *regs); void keep_debug_flags(unsigned long oldccs, unsigned long oldspc, struct pt_regs *regs); -int -sys_sigaction(int signal, const struct old_sigaction *act, - struct old_sigaction *oact) -{ - int retval; - struct k_sigaction newk; - struct k_sigaction oldk; - - if (act) { - old_sigset_t mask; - - if (!access_ok(VERIFY_READ, act, sizeof(*act)) || - __get_user(newk.sa.sa_handler, &act->sa_handler) || - __get_user(newk.sa.sa_restorer, &act->sa_restorer) || - __get_user(newk.sa.sa_flags, &act->sa_flags) || - __get_user(mask, &act->sa_mask)) - return -EFAULT; - - siginitset(&newk.sa.sa_mask, mask); - } - - retval = do_sigaction(signal, act ? &newk : NULL, oact ? &oldk : NULL); - - if (!retval && oact) { - if (!access_ok(VERIFY_WRITE, oact, sizeof(*oact)) || - __put_user(oldk.sa.sa_handler, &oact->sa_handler) || - __put_user(oldk.sa.sa_restorer, &oact->sa_restorer) || - __put_user(oldk.sa.sa_flags, &oact->sa_flags) || - __put_user(oldk.sa.sa_mask.sig[0], &oact->sa_mask)) - return -EFAULT; - - } - - return retval; -} - static int restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc) { |