From: Stephen Rothwell Date: Fri, 9 Sep 2011 05:05:07 +0000 (+1000) Subject: Merge remote-tracking branch 'ptrace/ptrace' X-Git-Tag: next-20110909~17 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=ba0068edab885bd23fc0f15ce5bc4003ff3594ee;p=karo-tx-linux.git Merge remote-tracking branch 'ptrace/ptrace' --- ba0068edab885bd23fc0f15ce5bc4003ff3594ee diff --cc arch/sparc/kernel/signal_32.c index 04ede8f04add,f6b0faba399b..f1f8a03664bc --- a/arch/sparc/kernel/signal_32.c +++ b/arch/sparc/kernel/signal_32.c @@@ -202,17 -226,8 +200,14 @@@ asmlinkage void do_rt_sigreturn(struct do_sigaltstack((const stack_t __user *) &st, NULL, (unsigned long)sf); set_fs(old_fs); + err |= __get_user(rwin_save, &sf->rwin_save); + if (!err && rwin_save) { + if (restore_rwin_state(rwin_save)) + goto segv; + } + sigdelsetmask(&set, ~_BLOCKABLE); - spin_lock_irq(¤t->sighand->siglock); - current->blocked = set; - recalc_sigpending(); - spin_unlock_irq(¤t->sighand->siglock); + set_current_blocked(&set); return; segv: force_sig(SIGSEGV, current); diff --cc kernel/fork.c index fa7beb3155e0,8104ace81678..948271451ffe --- a/kernel/fork.c +++ b/kernel/fork.c @@@ -998,8 -1026,8 +1026,7 @@@ static void copy_flags(unsigned long cl new_flags &= ~(PF_SUPERPRIV | PF_WQ_WORKER); new_flags |= PF_FORKNOEXEC; - new_flags |= PF_STARTING; p->flags = new_flags; - clear_freeze_flag(p); } SYSCALL_DEFINE1(set_tid_address, int __user *, tidptr)