Message ID | 20230109205300.955019-1-Liam.Howlett@oracle.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mm.h: Fix "mm: Add temporary vma iterator versions of vma_merge(), split_vma(), and __split_vma() | expand |
On Mon, 9 Jan 2023 20:53:22 +0000 Liam Howlett <liam.howlett@oracle.com> wrote: > The extern definition of __split_vma() was removed too early. Re-add it > and remove it once the users are all converted. I think I sorted this out. __split_vma() can be made static to mmap.c?
* Andrew Morton <akpm@linux-foundation.org> [230109 18:15]: > On Mon, 9 Jan 2023 20:53:22 +0000 Liam Howlett <liam.howlett@oracle.com> wrote: > > > The extern definition of __split_vma() was removed too early. Re-add it > > and remove it once the users are all converted. > > I think I sorted this out. > > __split_vma() can be made static to mmap.c? Ah, I don't think so? SeongJae reported an issue that I caused by dropping this definition from the header before mm/madvise.c was updated to use the alternative. I think it needs to be in the header and so it should just probably be there until the function is dropped entirely later in the series.
Liam Howlett <liam.howlett@oracle.com> writes: > * Andrew Morton <akpm@linux-foundation.org> [230109 18:15]: >> On Mon, 9 Jan 2023 20:53:22 +0000 Liam Howlett <liam.howlett@oracle.com> wrote: >> >> > The extern definition of __split_vma() was removed too early. Re-add it >> > and remove it once the users are all converted. >> >> I think I sorted this out. >> >> __split_vma() can be made static to mmap.c? > > Ah, I don't think so? SeongJae reported an issue that I caused by > dropping this definition from the header before mm/madvise.c was updated > to use the alternative. I think it needs to be in the header and so it > should just probably be there until the function is dropped entirely > later in the series. FWIW, i encountered that issue while bisecting another maple tree issue with next-20230110: linux/mm/madvise.c: In function ‘madvise_update_vma’: linux/mm/madvise.c:165:25: error: implicit declaration of function ‘__split_vma’; did you mean ‘split_vma’? [-Werror=implicit-function-declaration] 165 | error = __split_vma(mm, vma, start, 1); | ^~~~~~~~~~~ | split_vma cc1: some warnings being treated as errors make[3]: *** [linux/scripts/Makefile.build:252: mm/madvise.o] Error 1 make[2]: *** [linux/scripts/Makefile.build:504: mm] Error 2 make[1]: *** [linux/Makefile:2008: .] Error 2 Can we instead fix the original patch instead, so bisect works, or is it too late?
diff --git a/include/linux/mm.h b/include/linux/mm.h index 9c790c88f691..14e3698fcbe7 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2840,6 +2840,8 @@ extern struct vm_area_struct *vmi_vma_merge(struct vma_iterator *vmi, struct file *, pgoff_t, struct mempolicy *, struct vm_userfaultfd_ctx, struct anon_vma_name *); extern struct anon_vma *find_mergeable_anon_vma(struct vm_area_struct *); +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 mm_struct *, struct vm_area_struct *,
The extern definition of __split_vma() was removed too early. Re-add it and remove it once the users are all converted. Reported-by: SeongJae Park <sj@kernel.org> Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com> --- include/linux/mm.h | 2 ++ 1 file changed, 2 insertions(+)