Hi Lorenzo, On Mon, 22 Jul 2024 12:50:22 +0100 Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx> wrote: > This patch introduces vma.c and moves internal core VMA manipulation > functions to this file from mmap.c. > > This allows us to isolate VMA functionality in a single place such that we > can create userspace testing code that invokes this functionality in an > environment where we can implement simple unit tests of core functionality. > > This patch ensures that core VMA functionality is explicitly marked as such > by its presence in mm/vma.h. > > It also places the header includes required by vma.c in vma_internal.h, > which is simply imported by vma.c. This makes the VMA functionality > testable, as userland testing code can simply stub out functionality > as required. > > Reviewed-by: Vlastimil Babka <vbabka@xxxxxxx> > Reviewed-by: Liam R. Howlett <Liam.Howlett@xxxxxxxxxx> > Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx> > --- > include/linux/mm.h | 35 - > mm/Makefile | 2 +- > mm/internal.h | 236 +----- > mm/mmap.c | 1980 +++----------------------------------------- > mm/mmu_notifier.c | 2 + > mm/vma.c | 1766 +++++++++++++++++++++++++++++++++++++++ > mm/vma.h | 364 ++++++++ > mm/vma_internal.h | 52 ++ > 8 files changed, 2294 insertions(+), 2143 deletions(-) > create mode 100644 mm/vma.c > create mode 100644 mm/vma.h > create mode 100644 mm/vma_internal.h > [...] > diff --git a/mm/vma_internal.h b/mm/vma_internal.h > new file mode 100644 > index 000000000000..e13e5950df78 > --- /dev/null > +++ b/mm/vma_internal.h > @@ -0,0 +1,52 @@ > +/* SPDX-License-Identifier: GPL-2.0-or-later */ > +/* > + * vma_internal.h > + * > + * Headers required by vma.c, which can be substituted accordingly when testing > + * VMA functionality. > + */ > + > +#ifndef __MM_VMA_INTERNAL_H > +#define __MM_VMA_INTERNAL_H > + [...] > +#include <asm/current.h> > +#include <asm/page_types.h> > +#include <asm/pgtable_types.h> I found the latest mm-unstable fails build for arm64 and kunit (tenically speaking, UM) with errors including below. And 'git bisect' points this patch.