Messages in this thread | | | From | "Daney, David" <> | Subject | RE: [PATCH RFC] net/mlx4: Remove improper usage of dma_alloc_coherent(). | Date | Thu, 30 Apr 2015 00:07:05 +0000 |
| |
First of all, let me apologize for top posting, but it is currently my only option.
I have been away from my office for the last couple of weeks, I was going to re-send on Monday, May 4. If you would like to do it before then, please go ahead and do that.
Thanks, David Daney
-----Original Message----- From: Ido Shamay [mailto:idos@dev.mellanox.co.il] Sent: Wednesday, April 29, 2015 7:14 AM To: David Daney; linux-kernel@vger.kernel.org; netdev@vger.kernel.org; linux-rdma@vger.kernel.org; David S. Miller Cc: Roland Dreier; Sean Hefty; Hal Rosenstock; Amir Vadai; Or Gerlitz; Yishai Hadas; Matan Barak; Majd Dibbiny; Jack Morgenstein; Moni Shoua; Eugenia Emantayev; Saeed Mahameed; Yuval Atias; Maor Gottlieb; David Daney Subject: Re: [PATCH RFC] net/mlx4: Remove improper usage of dma_alloc_coherent().
On 4/13/2015 12:33 AM, Ido Shamay wrote: > On 4/7/2015 10:43 PM, Ido Shamay wrote: >> On 4/7/2015 2:00 AM, David Daney wrote: >>> From: David Daney <david.daney@cavium.com> >>> >>> The dma_alloc_coherent() function returns a virtual address which >>> can be used for coherent access to the underlying memory. On some >>> architectures, like arm64, undefined behavior results if this memory >>> is also accessed via virtual mappings that are not coherent. Because >>> of their undefined nature, operations like virt_to_page() return >>> garbage when passed virtual addresses obtained from >>> dma_alloc_coherent(). Any subsequent mappings via vmap() of the >>> garbage page values are unusable and result in bad things like bus >>> errors (synchronous aborts in ARM64 speak). >>> >>> The MLX4 driver contains code that does the equivalent of: >>> >>> vmap(virt_to_page(dma_alloc_coherent)) >>> >>> This results in an OOPs when the device is opened. >>> >>> To fix this... >>> >>> Always use result of dma_alloc_coherent() directly. > Acked-by: Ido Shamay <idos@mellanox.com> Thanks David, this is good > for us
Hi David,
Are you resending this patch or you want us to do that?
| |