Linux implements a memory region by means of an object of
vm_area_struct; its fields are
shown in Table
Table 9-3. The fields of the memory region object
Pointer to the memory descriptor that
owns the region.
First linear address inside the
First linear address after the
Next region in the
Access permissions for the page frames
of the region.
Flags of the region.
Data for the red-black tree (see later
in this chapter).
Links to the data structures used for
reverse mapping (see the section "Reverse Mapping for
Mapped Pages" in Chapter 17).
Pointers for the list of anonymous
memory regions (see the section "Reverse Mapping for
Anonymous Pages" in Chapter 17).
Pointer to the
anon_vma data structure (see the
Mapping for Anonymous Pages" in Chapter 17).
Pointer to the methods of
the memory region.
Offset in mapped file (see Chapter 16). For anonymous
pages, it is either zero or equal to
vm_start/PAGE_SIZE (see Chapter 17).
Pointer to the file object of the
mapped file, if any.
Pointer to private data of the memory
unsigned long ...