projects
/
platform
/
kernel
/
linux-starfive.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5dc21f0
)
mmap: fix remap_file_pages() regression
author
Liam Howlett
<liam.howlett@oracle.com>
Tue, 25 Oct 2022 16:12:49 +0000
(16:12 +0000)
committer
Andrew 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
patch
|
blob
|
history
diff --git
a/mm/mmap.c
b/mm/mmap.c
index
e270057
..
2def555
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;
}