]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
mmap: fix remap_file_pages() regression
authorLiam Howlett <liam.howlett@oracle.com>
Tue, 25 Oct 2022 16:12:49 +0000 (16:12 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 28 Oct 2022 20:37:23 +0000 (13:37 -0700)
When using the VMA iterator, the final execution will set the variable
'next' to NULL which causes the function to fail out.  Restore the break
in the loop to exit the VMA iterator early without clearing NULL fixes the
issue.

Link: https://lore.kernel.org/lkml/29344.1666681759@jrobl/
Link: https://lkml.kernel.org/r/20221025161222.2634030-1-Liam.Howlett@oracle.com
Fixes: 763ecb035029 (mm: remove the vma linked list)
Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Reported-by: "J. R. Okajima" <hooanon05g@gmail.com>
Tested-by: "J. R. Okajima" <hooanon05g@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/mmap.c

index e270057ed04ebef02909c6fdec089875f5909ae3..2def55555e05f10336802ae2f09c6a77a39e7e51 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -2852,6 +2852,9 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
                        if (next->vm_flags != vma->vm_flags)
                                goto out;
 
+                       if (start + size <= next->vm_end)
+                               break;
+
                        prev = next;
                }