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,

Signed-off-by: Vincent Hanquez <[EMAIL PROTECTED]>

--- linux-2.6.10/arch/i386/kernel/signal.c.orig 2005-01-14 21:02:13 +0100
+++ linux-2.6.10/arch/i386/kernel/signal.c      2005-01-14 21:05:32 +0100
@@ -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)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to