On 3/23/21 3:04 PM, Jason Gunthorpe wrote:
On Tue, Mar 23, 2021 at 12:47:24PM +0100, Daniel Vetter wrote:
+static inline bool is_cow_mapping(vm_flags_t flags)
Bit a bikeshed, but I wonder whether the public interface shouldn't be
vma_is_cow_mapping. Or whether this shouldn't be rejected somewhere else,
since at least in drivers/gpu we have tons of cases that don't check for
this and get it all kinds of wrong I think.
remap_pfn_range handles this for many cases, but by far not for all.
Anyway patch itself lgtm:
Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
I would like it if io_remap_pfn_range() did not allow shared mappings
at all.
You mean private mappings?
IIRC it doesn't work anyway, the kernel can't reliably copy from IO
pages eg the "_copy_from_user_inatomic()" under cow_user_page() will
not work on s390 that requires all IO memory be accessed with special
instructions.
Unfortunately I have no idea what the long ago special case of
allowing COW'd IO mappings is. :\
Me neither, but at some point it must have been important enough to
introduce VM_MIXEDMAP...
/Thomas
Jason