Skip to contentSkip to conversation

arch/i386/kernel/signal.c: fix err test twice

PATCH In review Vincent Hanquez 2 participants 2 messages Jan 19, 2005

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 arch/i386/kernel/signal.c: fix err test twice

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

Please apply,

arch/i386/kernel/signal.c renamed from arch/i386/kernel/signal.c.orig +5 -5
@@ -369,20 +369,20 @@
 		? 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)
Acked-by on v1 1/1
#1 lore raw
Quoted 3 lines · Vincent Hanquez

Hi, the following patch:
- correct the err variable tested twice when _NSIG_WORDS == 1 (unlikely to happen, but ..)

(this isnt a problem, even if it happens. But worth cleaning up nevertheless.)

Quoted 5 lines

- remove some |= in favor of = because we don't need to 'pack' err

Please apply,

looks good.

Ingo