diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2011-08-18 20:00:19 +0100 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2011-11-02 14:14:41 +0100 |
commit | 78722a445bb253fa6bcbe9d6589f27db78056af6 (patch) | |
tree | a862b8a8f1a0193467629d8b38d8d36a1fa43697 /arch/um | |
parent | d118c135489bd835d3c450c7dec3126f9fc4605e (diff) | |
download | op-kernel-dev-78722a445bb253fa6bcbe9d6589f27db78056af6.zip op-kernel-dev-78722a445bb253fa6bcbe9d6589f27db78056af6.tar.gz |
um: switch {rt_,}sigreturn() to set_current_blocked()
same story as on x86 native...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/um')
-rw-r--r-- | arch/um/sys-i386/signal.c | 12 | ||||
-rw-r--r-- | arch/um/sys-x86_64/signal.c | 6 |
2 files changed, 3 insertions, 15 deletions
diff --git a/arch/um/sys-i386/signal.c b/arch/um/sys-i386/signal.c index 89a4662..4403b48 100644 --- a/arch/um/sys-i386/signal.c +++ b/arch/um/sys-i386/signal.c @@ -458,11 +458,7 @@ long sys_sigreturn(struct pt_regs regs) 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; @@ -489,11 +485,7 @@ long sys_rt_sigreturn(struct pt_regs regs) 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; diff --git a/arch/um/sys-x86_64/signal.c b/arch/um/sys-x86_64/signal.c index b6b65c7..581b64d 100644 --- a/arch/um/sys-x86_64/signal.c +++ b/arch/um/sys-x86_64/signal.c @@ -270,11 +270,7 @@ long sys_rt_sigreturn(struct pt_regs *regs) 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)) |