Re: [PATCH] i386, nmi: signed vs unsigned mixup

From: Andrew Morton
Date: Sat Nov 19 2005 - 19:27:54 EST


Jesper Juhl <jesper.juhl@xxxxxxxxx> wrote:
>
> In arch/i386/kernel/nmi.c::nmi_watchdog_tick(), the variable `sum' is
> of type "int" but it's used to store the result of
> per_cpu(irq_stat, cpu).apic_timer_irqs which is an "unsigned int", it's
> also later compared to last_irq_sums[cpu] which is also an
> "unsigned int", so `sum' really ought to be unsigned itself.
> This small patch makes that change.
>
> ...
>
> --- linux-2.6.15-rc1-git7-orig/arch/i386/kernel/nmi.c 2005-11-12 18:07:14.000000000 +0100
> +++ linux-2.6.15-rc1-git7/arch/i386/kernel/nmi.c 2005-11-19 23:58:17.000000000 +0100
> @@ -528,9 +528,10 @@ void nmi_watchdog_tick (struct pt_regs *
> * Since current_thread_info()-> is always on the stack, and we
> * always switch the stack NMI-atomically, it's safe to use
> * smp_processor_id().
> */
> - int sum, cpu = smp_processor_id();
> + unsigned int sum;
> + int cpu = smp_processor_id();
>
> sum = per_cpu(irq_stat, cpu).apic_timer_irqs;
>
> if (last_irq_sums[cpu] == sum) {
>

-ETOOTRIVIAL. The code as-is works OK, and we have these sorts of things
all over the tee.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/