2005-01-19 09:59:19

by Vincent Hanquez

[permalink] [raw]
Subject: [PATCH] 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,

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)


2005-01-19 13:43:38

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] arch/i386/kernel/signal.c: fix err test twice


* Vincent Hanquez <[email protected]> wrote:

> 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.)

> - remove some |= in favor of = because we don't need to 'pack' err
>
> Please apply,
>
> Signed-off-by: Vincent Hanquez <[email protected]>

looks good.

Acked-by: Ingo Molnar <[email protected]>

Ingo