Re: [PATCH 06/19] dma-iommu: fix and refactor iommu_dma_mmap

From: Christoph Hellwig
Date: Mon Feb 11 2019 - 11:03:31 EST


On Tue, Feb 05, 2019 at 03:02:23PM +0000, Robin Murphy wrote:
> On 14/01/2019 09:41, Christoph Hellwig wrote:
>> The current iommu_dma_mmap code does not properly handle memory from the
>> page allocator that hasn't been remapped, which can happen in the rare
>> case of allocations for a coherent device that aren't allowed to block.
>>
>> Fix this by replacing iommu_dma_mmap with a slightly tweaked copy of
>> dma_common_mmap with special handling for the remapped array of
>> pages allocated from __iommu_dma_alloc.
>
> If there's an actual bugfix here, can we make that before all of the other
> code movement? If it's at all related to other reports of weird mmap
> behaviour it might warrant backporting, and either way I'm finding it
> needlessly tough to follow what's going on in this patch :(

The bug fix is to handle non-vmalloc pages. I'll see if I can do
a smaller and more bandaid-y fix first.