Re: [PATCH v7 1/6] userfaultfd: add minor fault registration mode

2021-02-25 Thread Mike Kravetz
On 2/25/21 9:49 AM, Axel Rasmussen wrote: > On Wed, Feb 24, 2021 at 4:26 PM Mike Kravetz wrote: >> >> On 2/18/21 4:48 PM, Axel Rasmussen wrote: >> >>> @@ -401,8 +398,10 @@ vm_fault_t handle_userfault(struct vm_fault *vmf, >>> unsigned long reason) >>> >>> BUG_ON(ctx->mm != mm); >>> >>> -

Re: [PATCH v7 1/6] userfaultfd: add minor fault registration mode

2021-02-25 Thread Axel Rasmussen
On Wed, Feb 24, 2021 at 4:26 PM Mike Kravetz wrote: > > On 2/18/21 4:48 PM, Axel Rasmussen wrote: > > > @@ -401,8 +398,10 @@ vm_fault_t handle_userfault(struct vm_fault *vmf, > > unsigned long reason) > > > > BUG_ON(ctx->mm != mm); > > > > - VM_BUG_ON(reason &

Re: [PATCH v7 1/6] userfaultfd: add minor fault registration mode

2021-02-24 Thread Mike Kravetz
On 2/18/21 4:48 PM, Axel Rasmussen wrote: > @@ -401,8 +398,10 @@ vm_fault_t handle_userfault(struct vm_fault *vmf, > unsigned long reason) > > BUG_ON(ctx->mm != mm); > > - VM_BUG_ON(reason & ~(VM_UFFD_MISSING|VM_UFFD_WP)); > - VM_BUG_ON(!(reason & VM_UFFD_MISSING) ^ !!(reason &

Re: [PATCH v7 1/6] userfaultfd: add minor fault registration mode

2021-02-23 Thread Peter Xu
On Thu, Feb 18, 2021 at 04:48:19PM -0800, Axel Rasmussen wrote: [...] > @@ -1290,14 +1299,20 @@ static int userfaultfd_register(struct > userfaultfd_ctx *ctx, > ret = -EINVAL; > if (!uffdio_register.mode) > goto out; > - if (uffdio_register.mode &

[PATCH v7 1/6] userfaultfd: add minor fault registration mode

2021-02-18 Thread Axel Rasmussen
This feature allows userspace to intercept "minor" faults. By "minor" faults, I mean the following situation: Let there exist two mappings (i.e., VMAs) to the same page(s). One of the mappings is registered with userfaultfd (in minor mode), and the other is not. Via the non-UFFD mapping, the