x86: signal: sys_rt_sigreturn() should use set_current_blocked()
commite9bd3f0faa90084f188830d77723bafe422e486b
authorOleg Nesterov <oleg@redhat.com>
Wed, 27 Apr 2011 19:09:39 +0000 (27 21:09 +0200)
committerOleg Nesterov <oleg@redhat.com>
Thu, 28 Apr 2011 11:01:38 +0000 (28 13:01 +0200)
treeec80acc87031f21f96edb3bacf8caf9b45ee4f85
parente6a585801b451443480ff66914a522b482457460
x86: signal: sys_rt_sigreturn() should use set_current_blocked()

Normally sys_rt_sigreturn() restores the old current->blocked which was
changed by handle_signal(), and unblocking is always fine.

But the debugger or application itself can change frame->uc_sigmask and
thus we need set_current_blocked()->retarget_shared_pending().

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Reviewed-by: Matt Fleming <matt.fleming@linux.intel.com>
Acked-by: Tejun Heo <tj@kernel.org>
arch/x86/kernel/signal.c