On Mon, Feb 1, 2021 at 11:03 PM Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > IMHO the > > BUG_ON(vma->vm_flags & VM_PFNMAP); > > in vm_insert_page should just become a WARN_ON_ONCE with an error > return, and then we just need to gradually fix up the callers that > trigger it instead of coming up with workarounds like this. For the existing vm_insert_page users this should be fine since BUG_ON() guarantees that none of them sets VM_PFNMAP. However, for the system_heap_mmap I have one concern. When vm_insert_page returns an error due to VM_PFNMAP flag, the whole mmap operation should fail (system_heap_mmap returning an error leading to dma_buf_mmap failure). Could there be cases when a heap user (DRM driver for example) would be expected to work with a heap which requires VM_PFNMAP and at the same time with another heap which requires !VM_PFNMAP? IOW, this introduces a dependency between the heap and its user. The user would have to know expectations of the heap it uses and can't work with another heap that has the opposite expectation. This usecase is purely theoretical and maybe I should not worry about it for now? _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel