Re: [PATCH v4 2/4] userfaultfd.2: Add write-protect mode

Peter Xu
2021-03-23T18:58:15Z

On Tue, Mar 23, 2021 at 07:19:12PM +0100, Alejandro Colomar (man-pages) wrote:
> Hi Peter,
>
> Please see a few more comments below.
>
> Thanks,
>
> Alex
>
> On 3/22/21 11:08 PM, Peter Xu wrote:
> > Write-protect mode is supported starting from Linux 5.7.
> >
> > Signed-off-by: Peter Xu <peterx@redhat.com>
> > ---
> > man2/userfaultfd.2 | 104 ++++++++++++++++++++++++++++++++++++++++++++-
> > 1 file changed, 102 insertions(+), 2 deletions(-)
> >
> > diff --git a/man2/userfaultfd.2 b/man2/userfaultfd.2
> > index 555e37409..8ad4a71b5 100644
> > --- a/man2/userfaultfd.2
> > +++ b/man2/userfaultfd.2
> > @@ -78,6 +78,32 @@ all memory ranges that were registered with the object are unregistered
> > and unread events are flushed.
> > .\"
> > .PP
> > +Userfaultfd supports two modes of registration:
> > +.TP
> > +.BR UFFDIO_REGISTER_MODE_MISSING " (since 4.10)"
> > +When registered with
> > +.B UFFDIO_REGISTER_MODE_MISSING
> > +mode, the userspace will receive a page fault message
> > +when a missing page is accessed.
> > +The faulted thread will be stopped from execution until the page fault is
> > +resolved from the userspace by either an
> > +.B UFFDIO_COPY
> > +or an
> > +.B UFFDIO_ZEROPAGE
> > +ioctl.
> > +.TP
> > +.BR UFFDIO_REGISTER_MODE_WP " (since 5.7)"
> > +When registered with
> > +.B UFFDIO_REGISTER_MODE_WP
> > +mode, the userspace will receive a page fault message
> > +when a write-protected page is written.
> > +The faulted thread will be stopped from execution
> > +until the userspace un-write-protect the page using an
>
> Here you use un-write-protect, but in the other patch you use
> write-unprotect. Please, use a consistent wording if it's the same thing
> (if there are other similar things with different wordings in different
> pages, please fix them too, but I didn't see more of those). If there's
> already a wording for that in any page, please reuse it (I ignore it).

I tried to look for it, and these are the only ones I got that are related:

man4/fd.4:gets the cached drive state (disk changed, write protected et al.)
man4/st.4:The drive is write-protected.
man4/st.4:An attempt was made to write or erase a write-protected tape.
man4/st.4:when the tape in the drive is write-protected.

Unluckily I didn't find the unprotect part. I think I'll reword it as
"write-unprotect", since "write" should be an adjective-kind prefix.

>
> > +.B UFFDIO_WRITEPROTECT
> > +ioctl.
> > +.PP
> > +Multiple modes can be enabled at the same time for the same memory range.
> > +.PP
> > Since Linux 4.14, userfaultfd page fault message can selectively embed faulting
> > thread ID information into the fault message.
> > One needs to enable this feature explicitly using the
> > @@ -144,6 +170,17 @@ single threaded non-cooperative userfaultfd manager implementations.
> > .\" and limitations remaining in 4.11
> > .\" Maybe it's worth adding a dedicated sub-section...
> > .\"
> > +.PP
> > +Starting from Linux 5.7, userfaultfd is able to do
>
> The previous paragraph uses "Siince Linux 4.14". For consistency, please
> use that same wording here.

Ok.

Unless Mike speaks out, I'll still keep Mike's a-b as a credit for reviewing,
considering these changes are small.

Thanks,

--
Peter Xu