summaryrefslogtreecommitdiffstats
path: root/arch/tile/kernel/signal.c
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2012-03-24 20:13:59 +0100
committerArnd Bergmann <arnd@arndb.de>2012-03-24 20:13:59 +0100
commit83fe628e16d84efc8df2731bc403eae4e4f53801 (patch)
tree9a51c292235621d0f4f632c2a55ddb5a6ab582af /arch/tile/kernel/signal.c
parentMerge branch 'samsung/soc' into next/soc2 (diff)
parentMerge branch 'rmobile-fixes-for-linus' of git://github.com/pmundt/linux-sh in... (diff)
downloadlinux-83fe628e16d84efc8df2731bc403eae4e4f53801.tar.xz
linux-83fe628e16d84efc8df2731bc403eae4e4f53801.zip
Merge branch 'renesas/soc' into next/soc2
Diffstat (limited to 'arch/tile/kernel/signal.c')
-rw-r--r--arch/tile/kernel/signal.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/arch/tile/kernel/signal.c b/arch/tile/kernel/signal.c
index bedaf4e9f3a7..f79d4b88c747 100644
--- a/arch/tile/kernel/signal.c
+++ b/arch/tile/kernel/signal.c
@@ -97,10 +97,7 @@ SYSCALL_DEFINE1(rt_sigreturn, struct pt_regs *, regs)
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(&current->sighand->siglock);
- current->blocked = set;
- recalc_sigpending();
- spin_unlock_irq(&current->sighand->siglock);
+ set_current_blocked(&set);
if (restore_sigcontext(regs, &frame->uc.uc_mcontext))
goto badframe;
@@ -286,13 +283,7 @@ static int handle_signal(unsigned long sig, siginfo_t *info,
* the work_pending path in the return-to-user code, and
* either way we can re-enable interrupts unconditionally.
*/
- spin_lock_irq(&current->sighand->siglock);
- sigorsets(&current->blocked,
- &current->blocked, &ka->sa.sa_mask);
- if (!(ka->sa.sa_flags & SA_NODEFER))
- sigaddset(&current->blocked, sig);
- recalc_sigpending();
- spin_unlock_irq(&current->sighand->siglock);
+ block_sigmask(ka, sig);
}
return ret;