
From: Vincent Hanquez <tab@snarc.org>

Hi, the following patch:
	- correct the err variable tested twice when _NSIG_WORDS == 1
	  (unlikely to happen, but ..)
	- remove some |= in favor of = because we don't need to 'pack' err

Signed-off-by: Vincent Hanquez <tab@snarc.org>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/i386/kernel/signal.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff -puN arch/i386/kernel/signal.c~arch-i386-kernel-signalc-fix-err-test-twice arch/i386/kernel/signal.c
--- 25/arch/i386/kernel/signal.c~arch-i386-kernel-signalc-fix-err-test-twice	Wed Jan 19 15:33:13 2005
+++ 25-akpm/arch/i386/kernel/signal.c	Wed Jan 19 15:33:13 2005
@@ -365,20 +365,20 @@ static void setup_frame(int sig, struct 
 		? current_thread_info()->exec_domain->signal_invmap[sig]
 		: sig;
 
-	err |= __put_user(usig, &frame->sig);
+	err = __put_user(usig, &frame->sig);
 	if (err)
 		goto give_sigsegv;
 
-	err |= setup_sigcontext(&frame->sc, &frame->fpstate, regs, set->sig[0]);
+	err = setup_sigcontext(&frame->sc, &frame->fpstate, regs, set->sig[0]);
 	if (err)
 		goto give_sigsegv;
 
 	if (_NSIG_WORDS > 1) {
-		err |= __copy_to_user(&frame->extramask, &set->sig[1],
+		err = __copy_to_user(&frame->extramask, &set->sig[1],
 				      sizeof(frame->extramask));
+		if (err)
+			goto give_sigsegv;
 	}
-	if (err)
-		goto give_sigsegv;
 
 	restorer = &__kernel_sigreturn;
 	if (ka->sa.sa_flags & SA_RESTORER)
_
