mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-09-18 22:19:30 +02:00
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. Link: https://lore.kernel.org/20260710-b4-pre-scalable-cow-v2-30-2a5aa403d977@kernel.org Signed-off-by: Lorenzo Stoakes <ljs@kernel.org> Reviewed-by: Pedro Falcato <pfalcato@suse.de> Reviewed-by: Gregory Price <gourry@gourry.net> Reviewed-by: Vlastimil Babka (SUSE) <vbabka@kernel.org> Cc: Ackerley Tng <ackerleytng@google.com> Cc: David Hildenbrand (Arm) <david@kernel.org> Cc: Kai Huang <kai.huang@intel.com> Cc: Marek Szyprowski <m.szyprowski@samsung.com> Cc: SJ Park <sj@kernel.org> Cc: Thomas Zimmermann <tzimmermann@suse.de> Cc: Liam R. Howlett (Oracle) <liam@infradead.org> Cc: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
57 lines
1.4 KiB
C
57 lines
1.4 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* vma_internal.h
|
|
*
|
|
* Headers required by vma.c, vma_init.c and vma_exec.c, which can be
|
|
* substituted accordingly when testing VMA functionality.
|
|
*/
|
|
|
|
#ifndef __MM_VMA_INTERNAL_H
|
|
#define __MM_VMA_INTERNAL_H
|
|
|
|
#include <linux/backing-dev.h>
|
|
#include <linux/bitops.h>
|
|
#include <linux/bug.h>
|
|
#include <linux/cacheflush.h>
|
|
#include <linux/err.h>
|
|
#include <linux/file.h>
|
|
#include <linux/fs.h>
|
|
#include <linux/huge_mm.h>
|
|
#include <linux/hugetlb.h>
|
|
#include <linux/hugetlb_inline.h>
|
|
#include <linux/kernel.h>
|
|
#include <linux/ksm.h>
|
|
#include <linux/khugepaged.h>
|
|
#include <linux/list.h>
|
|
#include <linux/maple_tree.h>
|
|
#include <linux/mempolicy.h>
|
|
#include <linux/mm.h>
|
|
#include <linux/mm_inline.h>
|
|
#include <linux/mm_types.h>
|
|
#include <linux/mman.h>
|
|
#include <linux/mmap_lock.h>
|
|
#include <linux/mmdebug.h>
|
|
#include <linux/mmu_context.h>
|
|
#include <linux/mutex.h>
|
|
#include <linux/pagemap.h>
|
|
#include <linux/perf_event.h>
|
|
#include <linux/personality.h>
|
|
#include <linux/pfn.h>
|
|
#include <linux/rcupdate.h>
|
|
#include <linux/rmap.h>
|
|
#include <linux/rwsem.h>
|
|
#include <linux/sched/signal.h>
|
|
#include <linux/security.h>
|
|
#include <linux/shmem_fs.h>
|
|
#include <linux/swap.h>
|
|
#include <linux/uprobes.h>
|
|
#include <linux/userfaultfd_k.h>
|
|
#include <linux/pgtable.h>
|
|
|
|
#include <asm/current.h>
|
|
#include <asm/tlb.h>
|
|
|
|
#include "internal.h"
|
|
|
|
#endif /* __MM_VMA_INTERNAL_H */
|