Thread (62 messages) flat view 62 messages, 8 authors, 2009-07-02

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

From: Ingo Molnar <hidden>
Date: 2008-11-21 16:37:46
Also in: lkml

* Joerg Roedel [off-list ref] 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help