Re: [PATCH v2 25/44] mm: Switch vma_merge(), split_vma(), and __split_vma to vma iterator
From: SeongJae Park
Date: Fri Jan 06 2023 - 12:24:24 EST
Hello Liam,
On Thu, 5 Jan 2023 19:15:59 +0000 Liam Howlett <liam.howlett@xxxxxxxxxx> wrote:
> From: "Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>
>
> Drop the vmi_* functions and transition all users to use the vma
> iterator directly.
>
> Signed-off-by: Liam R. Howlett <Liam.Howlett@xxxxxxxxxx>
> ---
> fs/userfaultfd.c | 14 ++++----
> include/linux/mm.h | 16 +++-------
> mm/madvise.c | 6 ++--
> mm/mempolicy.c | 6 ++--
> mm/mlock.c | 6 ++--
> mm/mmap.c | 79 +++++++++++++---------------------------------
> mm/mprotect.c | 6 ++--
> mm/mremap.c | 2 +-
> 8 files changed, 47 insertions(+), 88 deletions(-)
[...]
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -2830,22 +2830,16 @@ static inline int vma_adjust(struct vm_area_struct *vma, unsigned long start,
[...]
> -extern int vmi__split_vma(struct vma_iterator *vmi, struct mm_struct *,
> - struct vm_area_struct *, unsigned long addr, int new_below);
> -extern int split_vma(struct mm_struct *, struct vm_area_struct *,
> - unsigned long addr, int new_below);
> -extern int vmi_split_vma(struct vma_iterator *vmi, struct mm_struct *,
> - struct vm_area_struct *, unsigned long addr, int new_below);
> +extern int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *,
> + unsigned long addr, int new_below);
> +extern int split_vma(struct vma_iterator *vmi, struct vm_area_struct *,
> + unsigned long addr, int new_below);
I just found this change for split_vma() is applied to !CONFIG_MMU, which the
definition of split_vma() is not changed, so cause a build error. I posted a
simple fix for that:
https://lore.kernel.org/linux-mm/20230106171857.149918-1-sj@xxxxxxxxxx/
Thanks,
SJ
[...]