[PATCH] IXP4xx: Ensure index is positive
Krzysztof Halasa
khc at pm.waw.pl
Tue Nov 3 16:23:07 EST 2009
Karl Hiramoto <karl at hiramoto.org> 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
More information about the linux-arm-kernel
mailing list