Re: [PATCH] IXP4xx: Ensure index is positive

From: Krzysztof Halasa
Date: Tue Nov 03 2009 - 16:23:18 EST


Karl Hiramoto <karl@xxxxxxxxxxxx> writes:

>> +++ b/arch/arm/mach-ixp4xx/common.c
>> @@ -119,7 +119,7 @@ EXPORT_SYMBOL(gpio_to_irq);
>> int irq_to_gpio(int irq)
>> {
>> - int gpio = (irq < 32) ? irq2gpio[irq] : -EINVAL;
>> + int gpio = (irq < 32 && irq >= 0) ? irq2gpio[irq] : -EINVAL;
>> if (gpio == -1)
>> return -EINVAL;

>> +++ b/arch/arm/mach-ixp4xx/ixp4xx_npe.c
>> @@ -667,7 +667,7 @@ err:
>> struct npe *npe_request(int id)
>> {
>> - if (id < NPE_COUNT)
>> + if (id >= 0 && id < NPE_COUNT)

> changing npe_request() to unsigned would probably be better and not
> add to bloat. If your calling these functions with negative
> arguments, your code is buggy then.

Right. Both files in fact.

Even the id < NPE_COUNT test is probably not needed but I can imagine
someone lowering NPE_COUNT. Negative values are unreasonable (though
unsigned type make this unrelevant, of course).
--
Krzysztof Halasa
--
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/