Re: [PATCH 0/10] DMA-API debugging facility

From: Ingo Molnar
Date: Fri Nov 21 2008 - 11:37:48 EST



* Joerg Roedel <joerg.roedel@xxxxxxx> wrote:

> Hi,
>
> this patchset introduces code to debug drivers usage of the DMA-API.
> Tests with hardware IOMMUs have shown several bugs in drivers
> regarding the usage of that API. Problems were found especially in
> network card drivers.
>
> These bugs often don't show up or have any negative impact if there
> is no hardware IOMMU in use in the system. But with an hardware
> IOMMU these bugs turn the hardware unusable or, in the worst case,
> cause data corruption on devices which are managed by other (good)
> drivers.
>
> With the code these patches introduce driver developers can find
> several bugs of misusing the DMA-API in their drivers. But be aware,
> it can not find all possible bugs. If it finds a problem it prints
> out messages like
>
> tg3 0000:08:04.0: PCI-DMA: device driver tries to free DMA memory it
> has not allocated [device address=0x000000042f0f3ae7] [size=48
> bytes]
>
> Pid: 6285, comm: bash Not tainted 2.6.28-rc5-00176-g6ae6379-dirty #6
> Call Trace:
> <IRQ> [<ffffffff80221276>] check_unmap+0x52/0x1ce
> [<ffffffff80221af0>] debug_unmap_single+0x61/0xa4
> [<ffffffff8053d396>] skb_dma_unmap+0xf2/0x10c
> [<ffffffff8040a986>] tg3_poll+0xe8/0x822
> [<ffffffff803abe2f>] mix_pool_bytes_extract+0x5c/0x155
> [<ffffffff80540e42>] net_rx_action+0x9d/0x170

very nice! I like this approach - and have a few comments on some
details - will post them as a reply to the patchs.

Ingo
--
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/