Re: [PATCH] VMXNET3: Add support for virtual IOMMU
From: David Miller <davem@davemloft.net>
Date: 2013-08-21 07:03:01
Also in:
lkml, virtualization
From: David Miller <davem@davemloft.net>
Date: 2013-08-21 07:03:01
Also in:
lkml, virtualization
From: Andy King <redacted> Date: Tue, 20 Aug 2013 10:33:32 -0700
We can't just do virt_to_phys() on memory that we pass to the device and expect it to work in presence of a virtual IOMMU. We need to add IOMMU mappings for such DMAs to work correctly. Fix that with pci_alloc_consistent() where possible, or pci_map_single() where the mapping is short-lived or we don't control the allocation (netdev). Also fix two small bugs: 1) use after free of rq->buf_info in vmxnet3_rq_destroy() 2) a cpu_to_le32() that should have been a cpu_to_le64() Acked-by: George Zhang <redacted> Acked-by: Aditya Sarwade <redacted> Signed-off-by: Andy King <redacted>
Please use dma_alloc_coherent() (or in fact dma_zalloc_coherent()), dma_map_single() et al., because they are preferred and in particular allow specification of GFP_* flags.