diff options
Diffstat (limited to 'arch/powerpc/kernel/signal.c')
| -rw-r--r-- | arch/powerpc/kernel/signal.c | 13 | 
1 files changed, 2 insertions, 11 deletions
| diff --git a/arch/powerpc/kernel/signal.c b/arch/powerpc/kernel/signal.c index ac6e437b1021..7006b7f4267a 100644 --- a/arch/powerpc/kernel/signal.c +++ b/arch/powerpc/kernel/signal.c @@ -57,10 +57,7 @@ void __user * get_sigframe(struct k_sigaction *ka, struct pt_regs *regs,  void restore_sigmask(sigset_t *set)  {  	sigdelsetmask(set, ~_BLOCKABLE); -	spin_lock_irq(¤t->sighand->siglock); -	current->blocked = *set; -	recalc_sigpending(); -	spin_unlock_irq(¤t->sighand->siglock); +	set_current_blocked(set);  }  static void check_syscall_restart(struct pt_regs *regs, struct k_sigaction *ka, @@ -169,13 +166,7 @@ static int do_signal(struct pt_regs *regs)  	regs->trap = 0;  	if (ret) { -		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, signr); -		recalc_sigpending(); -		spin_unlock_irq(¤t->sighand->siglock); +		block_sigmask(&ka, signr);  		/*  		 * A signal was successfully delivered; the saved sigmask is in | 
