Merge branch 'mm-pkeys-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[cascardo/linux.git] / mm / mprotect.c
index 7b35ee3..bcdbe62 100644 (file)
@@ -306,6 +306,7 @@ mprotect_fixup(struct vm_area_struct *vma, struct vm_area_struct **pprev,
                           vma->vm_userfaultfd_ctx);
        if (*pprev) {
                vma = *pprev;
+               VM_WARN_ON((vma->vm_flags ^ newflags) & ~VM_SOFTDIRTY);
                goto success;
        }
 
@@ -329,7 +330,7 @@ success:
         * held in write mode.
         */
        vma->vm_flags = newflags;
-       dirty_accountable = vma_wants_writenotify(vma);
+       dirty_accountable = vma_wants_writenotify(vma, vma->vm_page_prot);
        vma_set_page_prot(vma);
 
        change_protection(vma, start, end, vma->vm_page_prot,