Re: e100 REGRESSION in 2.6.32 (PATCH v2)

From: David Miller
Date: Fri Dec 18 2009 - 23:19:19 EST


From: "Brandeburg, Jesse" <jesse.brandeburg@xxxxxxxxx>
Date: Thu, 17 Dec 2009 09:21:49 -0800 (Pacific Standard Time)

>
> On Thu, 17 Dec 2009, Roger Oksanen wrote:
>> e100: Fix broken cbs accounting due to missing memset.
>>
>> Alan Stern noticed that e100 caused slab corruption.
>> commit 98468efddb101f8a29af974101c17ba513b07be1 changed
>> the allocation of cbs to use dma pools that don't return zeroed memory,
>> especially the cb->status field used to track which cb to clean, causing
>> (the visible) double freeing of skbs and a wrong free cbs count.
>>
>> Now the cbs are explicitly zeroed at allocation time.
>>
>> Reported-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
>> Tested-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
>> Signed-off-by: Roger Oksanen <roger.oksanen@xxxxxxxxxxxxxx>
>
> Change looks reasonable, ACK.

Applied, thanks everyone. I'll try to requeue the e100 stuff
together into -stable again now that this is resolved.

> should we also consider a followon patch to zero memory allocated with
> pci_pools? Seems useful.

Nah, it's more fun debugging subtle bugs like this one.
:-)
--
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/