vm_area_struct
Regular
4.4
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
4.8
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
4.10
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
4.13
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
4.15
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
atomic_long_t swap_readahead_info;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
4.18
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
atomic_long_t swap_readahead_info;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
5.0
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
atomic_long_t swap_readahead_info;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
5.3
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
atomic_long_t swap_readahead_info;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
5.4
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
atomic_long_t swap_readahead_info;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
5.8
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
atomic_long_t swap_readahead_info;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
5.11
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
atomic_long_t swap_readahead_info;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
5.13
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
void *vm_private_data;
atomic_long_t swap_readahead_info;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
5.15
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
atomic_long_t swap_readahead_info;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
5.19
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct anon_vma_name *anon_name;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
atomic_long_t swap_readahead_info;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
6.2
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
struct anon_vma_name *anon_name;
atomic_long_t swap_readahead_info;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
6.5
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct callback_head vm_rcu;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
const vm_flags_t vm_flags;
vm_flags_t __vm_flags;
int vm_lock_seq;
struct vma_lock *vm_lock;
bool detached;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
void *vm_private_data;
struct anon_vma_name *anon_name;
atomic_long_t swap_readahead_info;
struct mempolicy *vm_policy;
struct vma_numab_state *numab_state;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
6.8
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct callback_head vm_rcu;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
const vm_flags_t vm_flags;
vm_flags_t __vm_flags;
int vm_lock_seq;
struct vma_lock *vm_lock;
bool detached;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
void *vm_private_data;
struct anon_vma_name *anon_name;
atomic_long_t swap_readahead_info;
struct mempolicy *vm_policy;
struct vma_numab_state *numab_state;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
arm64
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
atomic_long_t swap_readahead_info;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
armhf
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
atomic_long_t swap_readahead_info;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
ppc64el
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
atomic_long_t swap_readahead_info;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
riscv64
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
atomic_long_t swap_readahead_info;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
aws
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
atomic_long_t swap_readahead_info;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
azure
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
atomic_long_t swap_readahead_info;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
gcp
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
atomic_long_t swap_readahead_info;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
lowlatency
: ✅struct vm_area_struct {
long unsigned int vm_start;
long unsigned int vm_end;
struct vm_area_struct *vm_next;
struct vm_area_struct *vm_prev;
struct rb_node vm_rb;
long unsigned int rb_subtree_gap;
struct mm_struct *vm_mm;
pgprot_t vm_page_prot;
long unsigned int vm_flags;
struct (anon) shared;
struct list_head anon_vma_chain;
struct anon_vma *anon_vma;
const struct vm_operations_struct *vm_ops;
long unsigned int vm_pgoff;
struct file *vm_file;
struct file *vm_prfile;
void *vm_private_data;
atomic_long_t swap_readahead_info;
struct mempolicy *vm_policy;
struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
};
Regular
4.4
and 4.8
✅
4.8
and 4.10
✅
4.10
and 4.13
✅
4.13
and 4.15
⚠️atomic_long_t swap_readahead_info
4.15
and 4.18
✅
4.18
and 5.0
✅
5.0
and 5.3
✅
5.3
and 5.4
✅
5.4
and 5.8
✅
5.8
and 5.11
✅
5.11
and 5.13
⚠️struct file *vm_prfile
5.13
and 5.15
⚠️struct file *vm_prfile
5.15
and 5.19
⚠️struct anon_vma_name *anon_name
5.19
and 6.2
⚠️struct vm_area_struct *vm_next
struct vm_area_struct *vm_prev
struct rb_node vm_rb
long unsigned int rb_subtree_gap
6.2
and 6.5
⚠️struct callback_head vm_rcu
vm_flags_t __vm_flags
int vm_lock_seq
struct vma_lock *vm_lock
bool detached
struct vma_numab_state *numab_state
struct file *vm_prfile
long unsigned int vm_flags
➡️ const vm_flags_t vm_flags
6.5
and 6.8
✅
amd64
and arm64
✅
amd64
and armhf
⚠️struct mempolicy *vm_policy
amd64
and ppc64el
✅
amd64
and riscv64
⚠️struct mempolicy *vm_policy
generic
and aws
✅
generic
and azure
✅
generic
and gcp
✅
generic
and lowlatency
✅