Re: [PATCH v2 30/33] mm/vma: correct incorrect vma.h inclusion
From: Vlastimil Babka (SUSE)
Date: Thu Jul 16 2026 - 04:40:26 EST
On 7/10/26 22:17, Lorenzo Stoakes wrote:
> The only files which should be including vma.h are the implementation files
> for the core VMA logic - vma.c, vma_init.c, and vma_exec.c.
>
> This is in order to allow for userland testing of core VMA logic. In this
> cases, vma_internal.h and vma.h are included, providing both the
> dependencies upon which the core VMA logic requires and its declarations.
>
> Userland testable VMA logic is achieved by having separate vma_internal.h
> implementations for userland and kernel.
>
> Callers other than the core VMA implementation should include internal.h
> instead. This header does not need to include vma_internal.h as it only
> contains the vma.h declarations, for which the includes already present
> suffice.
>
> Update code to reflect this, update comments to reflect the fact there are
> 3 VMA implementation files and document things more clearly.
>
> While we're here, slightly improve the language of the comment describing
> vma_exec.c.
>
> No functional change intended.
>
> Reviewed-by: Pedro Falcato <pfalcato@xxxxxxx>
> Reviewed-by: Gregory Price <gourry@xxxxxxxxxx>
> Signed-off-by: Lorenzo Stoakes <ljs@xxxxxxxxxx>
Reviewed-by: Vlastimil Babka (SUSE) <vbabka@xxxxxxxxxx>
But given Mike's efforts [1] I wonder if there's a way to change the vma
header system in the future to stop requiring users of vma functions to
include the whole internal.h, while of course still allow the userland
testability.
[1]
https://lore.kernel.org/all/20260709-internal-h-v1-0-956d5092782d@xxxxxxxxxx/