Messages in this thread | | | Date | Wed, 11 May 2022 18:30:59 +0200 | Subject | Re: [PATCH v8 06/23] mm/shmem: Handle uffd-wp special pte in page fault handler | From | David Hildenbrand <> |
| |
> +/* > + * This is actually a page-missing access, but with uffd-wp special pte > + * installed. It means this pte was wr-protected before being unmapped. > + */ > +static vm_fault_t pte_marker_handle_uffd_wp(struct vm_fault *vmf) > +{ > + /* > + * Just in case there're leftover special ptes even after the region > + * got unregistered - we can simply clear them. We can also do that > + * proactively when e.g. when we do UFFDIO_UNREGISTER upon some uffd-wp > + * ranges, but it should be more efficient to be done lazily here. > + */ > + if (unlikely(!userfaultfd_wp(vmf->vma) || vma_is_anonymous(vmf->vma))) > + return pte_marker_clear(vmf);
What would happen if we do a unregister followed by a register? IMHO we should start with a clean uffd-wp slate then. Your comment makes ma assume that we could receive stale WP events, which would be wrong?
-- Thanks,
David / dhildenb
| |