* SeongJae Park <sj@xxxxxxxxxx> [230106 12:23]: > 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. I think I need revisit the nommu side of things with this change as well. I was hoping to avoid that, but it seems to be more necessary than I had thought.