[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5bd42e33-8077-ea23-a9f3-c575db4edada@amd.com>
Date: Tue, 6 Aug 2019 15:59:40 +0000
From: "Lendacky, Thomas" <Thomas.Lendacky@....com>
To: Christoph Hellwig <hch@....de>
CC: Lucas Stach <l.stach@...gutronix.de>,
"iommu@...ts.linux-foundation.org" <iommu@...ts.linux-foundation.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Thiago Jung Bauermann <bauerman@...ux.ibm.com>,
Halil Pasic <pasic@...ux.ibm.com>
Subject: Re: Regression due to d98849aff879 (dma-direct: handle
DMA_ATTR_NO_KERNEL_MAPPING in common code)
On 8/6/19 10:46 AM, Christoph Hellwig wrote:
> On Tue, Aug 06, 2019 at 02:18:49PM +0000, Lendacky, Thomas wrote:
>> I think you need to keep everything inside the original if statement since
>> the caller is expecting a page pointer to be returned in this case and not
>> the page_address() which is returned when the DMA_ATTR_NO_KERNEL_MAPPING
>> is not present.
>
> DMA_ATTR_NO_KERNEL_MAPPING is defined to return an opaque cookie,
> which just happens to be a page pointer. So if we fix up the free side
> as pointed out by Lucas we should be fine.
As long as two different cookie types (page pointer for encrypted DMA
and virtual address returned from page_address() for unencrypted DMA)
is ok. I'm just not familiar with how the cookie is used in any other
functions, if at all.
Thanks,
Tom
>
Powered by blists - more mailing lists