The patch titled x86: signal: sys_rt_sigreturn() should use sigprocmask() has been added to the -mm tree. Its filename is x86-signal-sys_rt_sigreturn-should-use-sigprocmask.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: x86: signal: sys_rt_sigreturn() should use sigprocmask() From: Oleg Nesterov <oleg@xxxxxxxxxx> 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 sigprocmask()->retarget_shared_pending(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: "Nikita V. Youshchenko" <nyoushchenko@xxxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/x86/kernel/signal.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff -puN arch/x86/kernel/signal.c~x86-signal-sys_rt_sigreturn-should-use-sigprocmask arch/x86/kernel/signal.c --- a/arch/x86/kernel/signal.c~x86-signal-sys_rt_sigreturn-should-use-sigprocmask +++ a/arch/x86/kernel/signal.c @@ -601,10 +601,7 @@ long sys_rt_sigreturn(struct pt_regs *re goto badframe; sigdelsetmask(&set, ~_BLOCKABLE); - spin_lock_irq(¤t->sighand->siglock); - current->blocked = set; - recalc_sigpending(); - spin_unlock_irq(¤t->sighand->siglock); + sigprocmask(SIG_SETMASK, &set, NULL); if (restore_sigcontext(regs, &frame->uc.uc_mcontext, &ax)) goto badframe; _ Patches currently in -mm which might be from oleg@xxxxxxxxxx are linux-next.patch signal-introduce-retarget_shared_pending.patch signal-retarget_shared_pending-consider-shared-unblocked-signals-only.patch signal-sigprocmask-narrow-the-scope-of-sigloc.patch signal-sigprocmask-should-do-retarget_shared_pending.patch x86-signal-handle_signal-should-use-sigprocmask.patch x86-signal-sys_rt_sigreturn-should-use-sigprocmask.patch fs-execc-provide-the-correct-process-pid-to-the-pipe-helper.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html