diff options
Diffstat (limited to 'arch/tile/kernel/signal.c')
| -rw-r--r-- | arch/tile/kernel/signal.c | 13 | 
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(¤t->sighand->siglock); -	current->blocked = set; -	recalc_sigpending(); -	spin_unlock_irq(¤t->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(¤t->sighand->siglock); -		sigorsets(¤t->blocked, -			  ¤t->blocked, &ka->sa.sa_mask); -		if (!(ka->sa.sa_flags & SA_NODEFER)) -			sigaddset(¤t->blocked, sig); -		recalc_sigpending(); -		spin_unlock_irq(¤t->sighand->siglock); +		block_sigmask(ka, sig);  	}  	return ret; | 
