Re: [PATCH 07/10] mm/mmap/vma_merge: rename adj_next to adj_start

From: Lorenzo Stoakes
Date: Tue Mar 14 2023 - 18:37:05 EST


On Thu, Mar 09, 2023 at 12:12:55PM +0100, Vlastimil Babka wrote:
> The variable 'adj_next' holds the value by which we adjust vm_start of a
> vma in variable 'adjust', that's either 'next' or 'mid', so the current
> name is inaccurate. Rename it to 'adj_start'.
>
> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
> ---
> mm/mmap.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/mm/mmap.c b/mm/mmap.c
> index 3396c9b13f1c..c51d69592e4e 100644
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -903,7 +903,7 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm,
> bool vma_expanded = false;
> struct vma_prepare vp;
> unsigned long vma_end = end;
> - long adj_next = 0;
> + long adj_start = 0;
> unsigned long vma_start = addr;
>
> validate_mm(mm);
> @@ -971,7 +971,7 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm,
> remove = mid;
> } else { /* case 5 */
> adjust = mid;
> - adj_next = (end - mid->vm_start);
> + adj_start = (end - mid->vm_start);
> }
> }
> } else if (merge_next) {
> @@ -979,7 +979,7 @@ 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 = next;
> - adj_next = -(prev->vm_end - addr);
> + adj_start = -(prev->vm_end - addr);
> err = dup_anon_vma(next, prev);
> } else {
> vma = next; /* case 3 */
> @@ -1002,7 +1002,7 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm,
> if (vma_iter_prealloc(vmi))
> return NULL;
>
> - vma_adjust_trans_huge(vma, vma_start, vma_end, adj_next);
> + vma_adjust_trans_huge(vma, vma_start, vma_end, adj_start);
> init_multi_vma_prep(&vp, vma, adjust, remove, remove2);
> VM_WARN_ON(vp.anon_vma && adjust && adjust->anon_vma &&
> vp.anon_vma != adjust->anon_vma);
> @@ -1018,10 +1018,10 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm,
> if (vma_expanded)
> vma_iter_store(vmi, vma);
>
> - if (adj_next) {
> - adjust->vm_start += adj_next;
> - adjust->vm_pgoff += adj_next >> PAGE_SHIFT;
> - if (adj_next < 0) {
> + if (adj_start) {
> + adjust->vm_start += adj_start;
> + adjust->vm_pgoff += adj_start >> PAGE_SHIFT;
> + if (adj_start < 0) {
> WARN_ON(vma_expanded);
> vma_iter_store(vmi, next);
> }
> --
> 2.39.2
>

It looks like Suren's dc72d59c416d ("mm/mmap: move vma_prepare before
vma_adjust_trans_huge") trivially conflicts with this change.