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 <[email protected]> > Reviewed-by: Gregory Price <[email protected]> > Signed-off-by: Lorenzo Stoakes <[email protected]>
Reviewed-by: Vlastimil Babka (SUSE) <[email protected]> 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/[email protected]/
