On Fri, Aug 30, 2019 at 10:29:18AM +0100, Russell King - ARM Linux admin wrote: > On Fri, Aug 30, 2019 at 08:29:21AM +0200, Christoph Hellwig wrote: > > The arm architecture had a VM_ARM_DMA_CONSISTENT flag to mark DMA > > coherent remapping for a while. Lift this flag to common code so > > that we can use it generically. We also check it in the only place > > VM_USERMAP is directly check so that we can entirely replace that > > flag as well (although I'm not even sure why we'd want to allow > > remapping DMA appings, but I'd rather not change behavior). > > Good, because if you did change that behaviour, you'd break almost > every ARM framebuffer and cripple ARM audio drivers. How would that break them? All the usual video and audio drivers that use dma_alloc_* then use dma_mmap_* which never end up in the only place that actually checks VM_USERMAP (remap_vmalloc_range_partial) as they end up in the dma_map_ops mmap methods which contain what is effecitvely open coded versions of that routine. There are very few callers of remap_vmalloc_range_partial / remap_vmalloc_range, and while a few of those actually are in media drivers and the virtual frame buffer video driver, none of these seems to be called on dma memory (which would be a layering violation anyway).