goto segfault;
 
        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 (copy_sc_from_user(¤t->thread.regs, sc))
                goto segfault;
                goto segfault;
 
        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 (copy_sc_from_user(¤t->thread.regs, &uc->uc_mcontext))
                goto segfault;
 
                goto segfault;
 
        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 (copy_sc_from_user(¤t->thread.regs, &uc->uc_mcontext,
                              &frame->fpstate))