Re: e100 REGRESSION in 2.6.32 (PATCH v2)

From: Laurent Chavey
Date: Thu Dec 17 2009 - 16:15:46 EST


when using DMAPOOL_DEBUG, do we really want to
over-write memset(retval, POOL_POISON_ALLOCATED, pool->size);
set in dma_pool_alloc.


On Thu, Dec 17, 2009 at 9:21 AM, Brandeburg, Jesse
<jesse.brandeburg@xxxxxxxxx> wrote:
>
> 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.
>
> should we also consider a followon patch to zero memory allocated with
> pci_pools?  Seems useful.
>
> Acked-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx>
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
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/