aboutsummaryrefslogtreecommitdiffstats
path: root/arch/tile/kernel/signal.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-03-13 20:06:02 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-03-13 20:06:02 -0400
commit69539ab1006f6c55cc5243fa82341bb6e59c07ed (patch)
tree446ef9e4e3b7758e9ab37c1ae28b06d872cd4bd7 /arch/tile/kernel/signal.c
parent0a49aecaf416377b64d0f03907c2412acbb396be (diff)
parentad092338350e517608a41341095b6b1e312c4eb1 (diff)
Merge branch 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
Pull arch/tile update from Chris Metcalf "These include a couple of queued-up minor bug fixes from the community, a fix to unbreak the sysfs hooks in tile, and syncing up the defconfigs." Ugh. defconfigs updates without "make minconfig". Tons of ugly pointless lines there, I suspect. * 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: tile: Use set_current_blocked() and block_sigmask() arch/tile: misplaced parens near likely arch/tile: sync up the defconfig files to the tip arch/tile: Fix up from commit 8a25a2fd126c621f44f3aeaef80d51f00fc11639
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)
97 goto badframe; 97 goto badframe;
98 98
99 sigdelsetmask(&set, ~_BLOCKABLE); 99 sigdelsetmask(&set, ~_BLOCKABLE);
100 spin_lock_irq(&current->sighand->siglock); 100 set_current_blocked(&set);
101 current->blocked = set;
102 recalc_sigpending();
103 spin_unlock_irq(&current->sighand->siglock);
104 101
105 if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) 102 if (restore_sigcontext(regs, &frame->uc.uc_mcontext))
106 goto badframe; 103 goto badframe;
@@ -286,13 +283,7 @@ static int handle_signal(unsigned long sig, siginfo_t *info,
286 * the work_pending path in the return-to-user code, and 283 * the work_pending path in the return-to-user code, and
287 * either way we can re-enable interrupts unconditionally. 284 * either way we can re-enable interrupts unconditionally.
288 */ 285 */
289 spin_lock_irq(&current->sighand->siglock); 286 block_sigmask(ka, sig);
290 sigorsets(&current->blocked,
291 &current->blocked, &ka->sa.sa_mask);
292 if (!(ka->sa.sa_flags & SA_NODEFER))
293 sigaddset(&current->blocked, sig);
294 recalc_sigpending();
295 spin_unlock_irq(&current->sighand->siglock);
296 } 287 }
297 288
298 return ret; 289 return ret;