Re: [PATCH] mm.h: Fix "mm: Add temporary vma iterator versions of vma_merge(), split_vma(), and __split_vma()

From: Sven Schnelle
Date: Tue Jan 10 2023 - 10:07:51 EST


Liam Howlett <liam.howlett@xxxxxxxxxx> writes:

> * Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> [230109 18:15]:
>> On Mon, 9 Jan 2023 20:53:22 +0000 Liam Howlett <liam.howlett@xxxxxxxxxx> 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?