Virtual Memory Area
include/mem/vma_range.h View source View on GitHubStructs
Section titled “Structs”vma_range
Section titled “vma_range” struct vma_range (8 fields) source
§
size_t max_gap max_gap = largest free gap between consecutive VMAs in the subtree
§
enum vma_range_protection prot r/w/x, etc.
vma_range_protection
Section titled “vma_range_protection” enum vma_range_protection (3 variants) source
Functions
Section titled “Functions”vma_range_start
Section titled “vma_range_start”vma_range_end
Section titled “vma_range_end”vma_range_alloc
Section titled “vma_range_alloc”vma_range_free
Section titled “vma_range_free”vma_range_init
Section titled “vma_range_init”vma_range_find
Section titled “vma_range_find”vma_range_find_intersection
Section titled “vma_range_find_intersection”vma_range_next
Section titled “vma_range_next”vma_range_prev
Section titled “vma_range_prev”vma_range_anon_prepare
Section titled “vma_range_anon_prepare”fault path helper: write fault on an anon VMA, allocate anon_vma and AVC, link, stash on vma_range->anon_vma
vma_range_expand
Section titled “vma_range_expand”vma_range_merge
Section titled “vma_range_merge”vma_range_set_prot
Section titled “vma_range_set_prot”enum err vma_range_set_prot(
struct vma_range *vma_range,
enum vma_range_protection prot
) source vma_range_unmap_range
Section titled “vma_range_unmap_range”vma_range_teardown
Section titled “vma_range_teardown”vma_range_is_anonymous
Section titled “vma_range_is_anonymous”vma_range_pages
Section titled “vma_range_pages”vma_range_split
Section titled “vma_range_split”split one VMA into two at addr, recompute pgoff + tree intervals
vma_range_dup
Section titled “vma_range_dup”fresh VMA in dst_mm with src’s attributes but no linkages