On Wed, Jul 10, 2024 at 04:14:18PM +0200, Christian König wrote:
Am 10.07.24 um 15:57 schrieb Lei Liu:
Use vm_insert_page to establish a mapping for the memory allocated by dmabuf, thus supporting direct I/O read and write; and fix the issue of incorrect memory statistics after mapping dmabuf memory.
Well big NAK to that! Direct I/O is intentionally disabled on DMA-bufs.
We already discussed enforcing that in the DMA-buf framework and this patch probably means that we should really do that.
Last time I looked dma_mmap doesn't guarantee that the vma end sup with VM_SPECIAL, and that's pretty much the only reason why we can't enforce this. But we might be able to enforce this at least on some architectures, I didn't check for that ... if at least x86-64 and arm64 could have the check, that would be great. So might be worth it to re-audit this all.
I think all other dma-buf exporters/allocators do only create VM_SPECIAL vmas. -Sima