> On Dec 10, 2018, at 10:34 PM, Peter Xu <peterx@xxxxxxxxxx> wrote: > > --- > fs/userfaultfd.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/fs/userfaultfd.c b/fs/userfaultfd.c > index cd58939dc977..4567b5b6fd32 100644 > --- a/fs/userfaultfd.c > +++ b/fs/userfaultfd.c > @@ -736,10 +736,18 @@ void mremap_userfaultfd_prep(struct vm_area_struct *vma, > struct userfaultfd_ctx *ctx; > > ctx = vma->vm_userfaultfd_ctx.ctx; > - if (ctx && (ctx->features & UFFD_FEATURE_EVENT_REMAP)) { > + > + if (!ctx) > + return; > + > + if (ctx->features & UFFD_FEATURE_EVENT_REMAP) { > vm_ctx->ctx = ctx; > userfaultfd_ctx_get(ctx); > WRITE_ONCE(ctx->mmap_changing, true); > + } else { > + /* Drop uffd context if remap feature not enabled */ > + vma->vm_userfaultfd_ctx = NULL_VM_UFFD_CTX; > + vma->vm_flags &= ~(VM_UFFD_WP | VM_UFFD_MISSING); > } > } > > -- > 2.17.1 > Looks good. Reviewed-by: William Kucharski <william.kucharski@xxxxxxxxxx>