Re: [PATCH] dma-direct: fix DMA_ATTR_NO_KERNEL_MAPPING

From: Christoph Hellwig
Date: Tue Nov 02 2021 - 02:42:00 EST


As others pointed out, DMA_ATTR_NO_KERNEL_MAPPING just means the
caller can't rely on a kernel mapping. So the "fix" here is
wrong. That being said for cases where we can easily remove a page
from the kernel mapping it would be nice to do to:

a) improve security
b) as a debug check to see that no one actually tries to access it

> + /* remove kernel mapping for pages */
> + set_memory_valid((unsigned long)phys_to_virt(dma_to_phys(dev, *dma_handle)),

Please avoid overly long lines. Also this function only exists for arm64
also and others pointed out won't work for all cases.