Merge branch 'stable/for-linus-5.11' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / mm / mprotect.c
index 56c02be..ab70902 100644 (file)
@@ -616,9 +616,16 @@ static int do_mprotect_pkey(unsigned long start, size_t len,
                tmp = vma->vm_end;
                if (tmp > end)
                        tmp = end;
+
+               if (vma->vm_ops && vma->vm_ops->mprotect)
+                       error = vma->vm_ops->mprotect(vma, nstart, tmp, newflags);
+               if (error)
+                       goto out;
+
                error = mprotect_fixup(vma, &prev, nstart, tmp, newflags);
                if (error)
                        goto out;
+
                nstart = tmp;
 
                if (nstart < prev->vm_end)