On Tue, Feb 12, 2019 at 10:56:27AM +0800, Peter Xu wrote: > From: Andrea Arcangeli <aarcange@xxxxxxxxxx> > > v1: From: Shaohua Li <shli@xxxxxx> > > v2: cleanups, remove a branch. > > [peterx writes up the commit message, as below...] > > This patch introduces the new uffd-wp APIs for userspace. > > Firstly, we'll allow to do UFFDIO_REGISTER with write protection > tracking using the new UFFDIO_REGISTER_MODE_WP flag. Note that this > flag can co-exist with the existing UFFDIO_REGISTER_MODE_MISSING, in > which case the userspace program can not only resolve missing page > faults, and at the same time tracking page data changes along the way. > > Secondly, we introduced the new UFFDIO_WRITEPROTECT API to do page > level write protection tracking. Note that we will need to register > the memory region with UFFDIO_REGISTER_MODE_WP before that. > > Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> > [peterx: remove useless block, write commit message, check against > VM_MAYWRITE rather than VM_WRITE when register] > Signed-off-by: Peter Xu <peterx@xxxxxxxxxx> I am not an expert with userfaultfd code but it looks good to me so: Also see my question down below, just a minor one. Reviewed-by: Jérôme Glisse <jglisse@xxxxxxxxxx> > --- > fs/userfaultfd.c | 82 +++++++++++++++++++++++++------- > include/uapi/linux/userfaultfd.h | 11 +++++ > 2 files changed, 77 insertions(+), 16 deletions(-) > [...] > diff --git a/include/uapi/linux/userfaultfd.h b/include/uapi/linux/userfaultfd.h > index 297cb044c03f..1b977a7a4435 100644 > --- a/include/uapi/linux/userfaultfd.h > +++ b/include/uapi/linux/userfaultfd.h > @@ -52,6 +52,7 @@ > #define _UFFDIO_WAKE (0x02) > #define _UFFDIO_COPY (0x03) > #define _UFFDIO_ZEROPAGE (0x04) > +#define _UFFDIO_WRITEPROTECT (0x06) > #define _UFFDIO_API (0x3F) What did happen to ioctl 0x05 ? :)