mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-06 05:06:29 +00:00
mm/mmap/vma_merge: use the proper vma pointer in case 4
Almost all cases now use the 'next' pointer for the vma following the merged area, and the cases diagram shows it as XXXX. Case 4 is different as it uses 'mid' and NNNN, so change it for consistency. No functional change. Link: https://lkml.kernel.org/r/20230309111258.24079-5-vbabka@suse.cz Signed-off-by: Vlastimil Babka <vbabka@suse.cz> Reviewed-by: Lorenzo Stoakes <lstoakes@gmail.com> Reviewed-by: Liam R. Howlett <Liam.Howlett@oracle.com> Cc: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Suren Baghdasaryan <surenb@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
5ff783f151
commit
183b7a60d3
@ -851,9 +851,9 @@ can_vma_merge_after(struct vm_area_struct *vma, unsigned long vm_flags,
|
||||
* vma, PPPPPP is the prev vma specified, and NNNNNN the next vma after:
|
||||
*
|
||||
* AAAA AAAA AAAA
|
||||
* PPPPPPNNNNNN PPPPPPNNNNNN PPPPPPNNNNNN
|
||||
* PPPPPPNNNNNN PPPPPPXXXXXX PPPPPPNNNNNN
|
||||
* cannot merge might become might become
|
||||
* PPNNNNNNNNNN PPPPPPPPPPNN
|
||||
* PPXXXXXXXXXX PPPPPPPPPPNN
|
||||
* mmap, brk or case 4 below case 5 below
|
||||
* mremap move:
|
||||
* AAAA AAAA
|
||||
@ -972,9 +972,9 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm,
|
||||
res = next;
|
||||
if (prev && addr < prev->vm_end) { /* case 4 */
|
||||
vma_end = addr;
|
||||
adjust = mid;
|
||||
adjust = next;
|
||||
adj_next = -(prev->vm_end - addr);
|
||||
err = dup_anon_vma(mid, prev);
|
||||
err = dup_anon_vma(next, prev);
|
||||
} else {
|
||||
vma = next; /* case 3 */
|
||||
vma_start = addr;
|
||||
|
Loading…
Reference in New Issue
Block a user