um: switch {rt_,}sigreturn() to set_current_blocked()
authorAl Viro <viro@ftp.linux.org.uk>
Thu, 18 Aug 2011 19:00:19 +0000 (20:00 +0100)
committerRichard Weinberger <richard@nod.at>
Wed, 2 Nov 2011 13:14:41 +0000 (14:14 +0100)
same story as on x86 native...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
arch/um/sys-i386/signal.c
arch/um/sys-x86_64/signal.c

index 89a46626bfd894c54d683622b7148633c1f91c97..4403b48ab044f53b694d1c59f98fb0d52bda0edb 100644 (file)
@@ -458,11 +458,7 @@ long sys_sigreturn(struct pt_regs regs)
                goto segfault;
 
        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 (copy_sc_from_user(&current->thread.regs, sc))
                goto segfault;
@@ -489,11 +485,7 @@ long sys_rt_sigreturn(struct pt_regs regs)
                goto segfault;
 
        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 (copy_sc_from_user(&current->thread.regs, &uc->uc_mcontext))
                goto segfault;
index b6b65c7c7a7dc270fbd72df445d7b6b9eedde06c..581b64d86a6ce0c3c9146ff869b78624a7c3cc21 100644 (file)
@@ -270,11 +270,7 @@ long sys_rt_sigreturn(struct pt_regs *regs)
                goto segfault;
 
        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 (copy_sc_from_user(&current->thread.regs, &uc->uc_mcontext,
                              &frame->fpstate))