On Thu, Mar 09, 2023 at 12:12:49PM +0100, Vlastimil Babka wrote: > In the merging preparation part of vma_merge(), some vma pointer > variables are assigned for later execution of the merge, but also read > from in the block itself. The code is easier follow and check against > the cases diagram in the comment if the code reads only from the > "primary" vma variables prev, mid, next instead. No functional change. > > Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> > --- > mm/mmap.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/mm/mmap.c b/mm/mmap.c > index 740b54be3ed4..0a8b052e3022 100644 > --- a/mm/mmap.c > +++ b/mm/mmap.c > @@ -950,16 +950,16 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm, > is_mergeable_anon_vma(prev->anon_vma, next->anon_vma, NULL)) { > remove = mid; /* case 1 */ > vma_end = next->vm_end; > - err = dup_anon_vma(res, remove); > + err = dup_anon_vma(prev, mid); > if (mid != next) { /* case 6 */ > remove2 = next; > - if (!remove->anon_vma) > - err = dup_anon_vma(res, remove2); > + if (!mid->anon_vma) > + err = dup_anon_vma(prev, next); > } > } else if (merge_prev) { > err = 0; /* case 2 */ > if (mid && end > mid->vm_start) { > - err = dup_anon_vma(res, mid); > + err = dup_anon_vma(prev, mid); > if (end == mid->vm_end) { /* case 7 */ > remove = mid; > } else { /* case 5 */ > @@ -972,8 +972,8 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm, > if (prev && addr < prev->vm_end) { /* case 4 */ > vma_end = addr; > adjust = mid; > - adj_next = -(vma->vm_end - addr); > - err = dup_anon_vma(adjust, prev); > + adj_next = -(prev->vm_end - addr); > + err = dup_anon_vma(mid, prev); > } else { > vma = next; /* case 3 */ > vma_start = addr; > @@ -982,7 +982,7 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm, > err = 0; > if (mid != next) { /* case 8 */ > remove = mid; > - err = dup_anon_vma(res, remove); > + err = dup_anon_vma(next, mid); > } > } > } > -- > 2.39.2 > Big improvement in readability already here. Reviewed-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx>