Re: [PATCH v3 2/3] userfaultfd: UFFDIO_MOVE uABI

From: David Hildenbrand
Date: Mon Oct 23 2023 - 11:54:21 EST


On 23.10.23 14:29, David Hildenbrand wrote:
+
+ /* Only allow remapping if both are mlocked or both aren't */
+ if ((src_vma->vm_flags & VM_LOCKED) != (dst_vma->vm_flags & VM_LOCKED))
+ return -EINVAL;
+
+ if (!(src_vma->vm_flags & VM_WRITE) || !(dst_vma->vm_flags & VM_WRITE))
+ return -EINVAL;

Why does one of both need VM_WRITE? If one really needs it, then the
destination (where we're moving stuff to).

Just realized that we want both to be writable.

If you have this in place, there is no need to use maybe*_mkwrite(), you can use the non-maybe variants.

I recall that for UFFDIO_COPY we even support PROT_NONE VMAs, is there any reason why we want to have different semantics here?

--
Cheers,

David / dhildenb