Re: [PATCH] net: ifb error path loop fix

From: Jarek Poplawski
Date: Tue Jan 02 2007 - 05:29:37 EST


On 02-01-2007 08:51, David Miller wrote:
> From: Mariusz Kozlowski <m.kozlowski@xxxxxxxxxx>
> Date: Tue, 2 Jan 2007 00:55:51 +0100
>
>> On error we should start freeing resources at [i-1] not [i-2].
>>
>> Signed-off-by: Mariusz Kozlowski <m.kozlowski@xxxxxxxxxx>
>
> Patch applied, thanks Mariusz.
>
>> diff -upr linux-2.6.20-rc2-mm1-a/drivers/net/ifb.c linux-2.6.20-rc2-mm1-b/drivers/net/ifb.c
>> --- linux-2.6.20-rc2-mm1-a/drivers/net/ifb.c 2006-12-24 05:00:32.000000000 +0100
>> +++ linux-2.6.20-rc2-mm1-b/drivers/net/ifb.c 2007-01-02 00:25:34.000000000 +0100
>> @@ -271,8 +271,7 @@ static int __init ifb_init_module(void)
>> for (i = 0; i < numifbs && !err; i++)
>> err = ifb_init_one(i);
>> if (err) {
>> - i--;
>> - while (--i >= 0)
>> + while (i--)
>> ifb_free_one(i);
>> }

After this patch:

for (i = 0 ...); // i == 0
err = ifb_init_one(i); // err != 0
i++; // i == 1
for (... !err ...); // break

if (err) {
while (i--) // i == 1 (when testing)
ifb_free_one(i); // i == 0 (not initialized)
}

Btw. wasn't this place patched yet?

Regards,
Jarek P.
-
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/