Commit 5c1c03de authored by Liam R. Howlett's avatar Liam R. Howlett Committed by Andrew Morton

mm: avoid rewalk in mmap_region

If the iterator has moved to the previous entry, then step forward one
range, back to the gap.

Link: https://lkml.kernel.org/r/20230518145544.1722059-36-Liam.Howlett@oracle.comSigned-off-by: default avatarLiam R. Howlett <Liam.Howlett@oracle.com>
Cc: David Binderman <dcb314@hotmail.com>
Cc: Peng Zhang <zhangpeng.00@bytedance.com>
Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Vernon Yang <vernon2gm@gmail.com>
Cc: Wei Yang <richard.weiyang@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent bb5dbd22
...@@ -2606,6 +2606,9 @@ unsigned long mmap_region(struct file *file, unsigned long addr, ...@@ -2606,6 +2606,9 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
} }
cannot_expand: cannot_expand:
if (prev)
vma_iter_next_range(&vmi);
/* /*
* Determine the object being mapped and call the appropriate * Determine the object being mapped and call the appropriate
* specific mapper. the address has already been validated, but * specific mapper. the address has already been validated, but
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment