goto expanded;
}
- mas_set_range(&mas, addr, end - 1);
cannot_expand:
/*
* Determine the object being mapped and call the appropriate
goto free_vma;
}
- // Very likely a shorter walk.
- mas = ma_prev;
- mas.last = end - 1;
- mas.index = addr;
- mas_walk(&mas);
+ // addr may have changed.
+ mas_set_range(&mas, addr, end - 1);
vma_mas_link(mm, vma, &mas);
/* Once vma denies write, undo our temporary denial count */
vma->vm_file = NULL;
/* Undo any partial mapping done by a device driver. */
+ mas_set_range(&mas, addr, end - 1);
unmap_region(mm, vma, &mas, vma->vm_start, vma->vm_end, prev, max);
charged = 0;
if (vm_flags & VM_SHARED)