Documented in 1 files:
Defined in 1 files as a member:
Defined in 2 files as a function:
- include/linux/pagemap.h, line 1094 (as a function)
- tools/testing/vma/include/dup.h, line 1626 (as a function)
Referenced in 21 files:
- arch/arm/mm/fault-armv.c, line 135
- arch/x86/kernel/cpu/sgx/virt.c, line 45
- drivers/dax/device.c
- drivers/gpu/drm/ttm/ttm_bo_vm.c, line 212
- fs/dax.c, line 488
- fs/proc/task_mmu.c
- include/linux/hugetlb.h, line 804
- include/linux/pagemap.h, line 1132
- mm/hugetlb.c
- mm/khugepaged.c
- mm/ksm.c
- mm/madvise.c
- mm/memory.c
- mm/mincore.c, line 129
- mm/mremap.c
- mm/msync.c, line 89
- mm/shmem.c
- mm/userfaultfd.c
- mm/vma.h, line 344
- tools/testing/vma/include/dup.h, line 1664
- virt/kvm/guest_memfd.c, line 410
Smatch caller information:
drivers/dax/device.c __dev_dax_pmd_fault() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 1 | address | 0,2097152-u64max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| CAPPED_DATA | 0 | vma | 1 |
| CAPPED_DATA | 0 | vma->vm_start | 1 |
| PARAM_COMPARE | 1 | address | >= $0->vm_start |
| PARAM_COMPARE | 1 | address | >= $0->vm_start |
| BIT_INFO | 1 | address | 0x0,0xffffffffffe00000 |
| BIT_INFO | 1 | address | 0x0,0xffffffffffe00000 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0,2097152-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| UNITS | 1 | address | unit_byte |
| LOCK2 | global &dax_srcu | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock |
drivers/dax/device.c __dev_dax_pud_fault() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 1 | address | 0,1073741824-u64max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| CAPPED_DATA | 0 | vma | 1 |
| CAPPED_DATA | 0 | vma->vm_start | 1 |
| PARAM_COMPARE | 1 | address | >= $0->vm_start |
| PARAM_COMPARE | 1 | address | >= $0->vm_start |
| BIT_INFO | 1 | address | 0x0,0xffffffffc0000000 |
| BIT_INFO | 1 | address | 0x0,0xffffffffc0000000 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0,1073741824-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| UNITS | 1 | address | unit_byte |
| LOCK2 | global &dax_srcu | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock |
drivers/dax/device.c dax_set_mapping() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| BUF_SIZE | 0 | vma | (-1),4,24,64,168-s32max |
| BUF_SIZE | 0 | vma | (-1),4,24,64,168-s32max |
| CAPPED_DATA | 0 | vma | 1 |
| CAPPED_DATA | 1 | address | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| LOCK2 | global &dax_srcu |
mm/madvise.c shmem_swapin_range() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | address | $1 |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0-u64max |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | &madv_behavior->mm->mmap_lock |
mm/madvise.c shmem_swapin_range() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | address | $2 |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0-u64max |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | &madv_behavior->mm->mmap_lock |
arch/x86/kernel/cpu/sgx/virt.c __sgx_vepc_fault() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| DATA_SOURCE | 0 | vma | $1 |
| DATA_SOURCE | 1 | address | $2 |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| UNITS | 1 | address | unit_byte |
| LOCK2 | &vepc->lock | ||
| TYPE_LOCK | (struct sgx_vepc)->lock |
mm/huge_memory.c linear_anon_page_index() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| CAPPED_DATA | 0 | vma->vm_userfaultfd_ctx.ctx | 1 |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | address | $1 |
| BIT_INFO | 0 | vma->vm_flags | 0x0,0xfffffffffffffff7 |
| BIT_INFO | 1 | address | 0x0,0xffffffffffe00000 |
| BIT_INFO | 1 | address | 0x0,0xffffffffffe00000 |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| USER_DATA | 1 | address | 0-18446744073709551614[c] |
| NO_OVERFLOW_SIMPLE | 1 | address | |
| UNITS | 1 | address | unit_byte |
| LOCK2 | &ctx->map_changing_lock | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
mm/msync.c __do_sys_msync() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| CAPPED_DATA | 1 | address | 1 |
| CAPPED_DATA | 1 | address | 1 |
| DATA_SOURCE | 1 | address | $0 [m] |
| PARAM_COMPARE | 1 | address | >= $0->vm_start |
| PARAM_COMPARE | 1 | address | >= $0->vm_start |
| NOSPEC | 1 | address | |
| USER_DATA | 1 | address | 0-u64max[c] |
| UNITS | 1 | address | unit_byte |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/msync.c __do_sys_msync() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| CAPPED_DATA | 1 | address | 1 |
| CAPPED_DATA | 1 | address | 1 |
| DATA_SOURCE | 1 | address | $0 [m] |
| PARAM_COMPARE | 1 | address | >= $0->vm_start |
| PARAM_COMPARE | 1 | address | >= $0->vm_start |
| NOSPEC | 1 | address | |
| USER_DATA | 1 | address | 0-u64max[c] |
| UNITS | 1 | address | unit_byte |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
arch/x86/kvm/../../../virt/kvm/guest_memfd.c kvm_gmem_get_policy() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma->vm_file | (-1),1-s32max |
| BUF_SIZE | 0 | vma->vm_mm | (-1),1-s32max |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | address | $1 |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | vma->vm_policy->flags | 0,24,8192-57368[c] |
| USER_DATA | 0 | vma->vm_policy->home_node | 0-1023 |
| USER_DATA | 0 | vma->vm_policy->mode | 2-3,5-u16max |
| USER_DATA | 1 | address | 0-u64max |
| NO_OVERFLOW_SIMPLE | 0 | vma->pfnmap_track_ctx->pfn | |
| NO_OVERFLOW_SIMPLE | 0 | vma->pfnmap_track_ctx->size | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_file->f_mapping->host->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| HALF_LOCKED2 | &mm->mmap_lock |
fs/dax.c dax_associate_entry() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| CAPPED_DATA | 0 | vma | 1 |
| CAPPED_DATA | 1 | address | 1 |
| DATA_SOURCE | 0 | vma | $2 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| LOCK2 | &(xas->xa)->xa_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &inode->i_mapping->invalidate_lock | ||
| HALF_LOCKED2 | &mapping->invalidate_lock |
mm/userfaultfd.c hugetlb_linear_page_index() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| CAPPED_DATA | 0 | vma | 1 |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | address | $1 |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| USER_DATA | 0 | vma->vm_policy->home_node | 0-1023 |
| USER_DATA | 1 | address | 0-18446744073709551614[c] |
| NO_OVERFLOW_SIMPLE | 1 | address | |
| UNITS | 1 | address | unit_byte |
| LOCK2 | &state.ctx->map_changing_lock | ||
| HALF_LOCKED2 | &ctx->map_changing_lock | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
mm/userfaultfd.c linear_anon_page_index() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| CAPPED_DATA | 0 | vma->vm_userfaultfd_ctx.ctx | 1 |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | address | $1 |
| BIT_INFO | 0 | vma->vm_flags | 0x0,0xfffffffffffffff7 |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| USER_DATA | 1 | address | 0-18446744073709551614[c] |
| NO_OVERFLOW_SIMPLE | 1 | address | |
| UNITS | 1 | address | unit_byte |
| LOCK2 | &ctx->map_changing_lock | ||
| LOCK2 | rcu_read | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
mm/userfaultfd.c mfill_atomic_pte_continue() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| UNITS | 1 | address | unit_byte |
| LOCK2 | &state.ctx->map_changing_lock | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
mm/userfaultfd.c mfill_file_over_size() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | address | $1 |
| UNITS | 1 | address | unit_byte |
| LOCK2 | &state.ctx->map_changing_lock | ||
| LOCK2 | ptl | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
fs/proc/task_mmu.c smaps_pte_hole() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| DATA_SOURCE | 1 | address | $0 |
| NOSPEC | 1 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | ptl |
fs/proc/task_mmu.c smaps_pte_hole() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| DATA_SOURCE | 1 | address | $1 |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | ptl |
mm/rmap.c linear_anon_page_index() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma->vm_mm | (-1),1-s32max |
| BUF_SIZE | 0 | vma->vm_ops | (-1),144 |
| BUF_SIZE | 0 | vma->vm_private_data | s32min-(-1),1-s32max |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | address | $1 |
| NOSPEC | 0 | vma->vm_end | |
| NOSPEC | 0 | vma->vm_pgoff | |
| NOSPEC | 0 | vma->vm_start | |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | vma->pfnmap_track_ctx->pfn | 0-9007201402224637[c] |
| USER_DATA | 0 | vma->pfnmap_track_ctx->size | 0,4096-u64max[c] |
| USER_DATA | 0 | vma->shared.rb_subtree_last | 0-u64max[u] |
| USER_DATA | 0 | vma->swap_readahead_info.counter | 0-s64max[c] |
| USER_DATA | 0 | vma->vm_end | 0-u64max |
| USER_DATA | 0 | vma->vm_pgoff | 0-9007201402224637[c] |
| USER_DATA | 0 | vma->vm_start | 0-u64max |
| USER_DATA | 1 | address | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_file->f_mapping->host->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_policy->mode | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| UNITS | 0 | vma | unit_byte |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | 0 | &vma->anon_vma->root->rwsem | |
| HALF_LOCKED2 | 0 | &vma->vm_private_data->rw_sema |
mm/shmem.c shmem_get_policy() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma->vm_file | (-1),1-s32max |
| BUF_SIZE | 0 | vma->vm_mm | (-1),1-s32max |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | address | $1 |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | vma->vm_policy->flags | 0,24,8192-57368[c] |
| USER_DATA | 0 | vma->vm_policy->home_node | 0-1023 |
| USER_DATA | 0 | vma->vm_policy->mode | 2-3,5-u16max |
| USER_DATA | 1 | address | 0-u64max |
| NO_OVERFLOW_SIMPLE | 0 | vma->pfnmap_track_ctx->pfn | |
| NO_OVERFLOW_SIMPLE | 0 | vma->pfnmap_track_ctx->size | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_file->f_mapping->host->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| HALF_LOCKED2 | &mm->mmap_lock |
mm/shmem.c shmem_mfill_filemap_add() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| DATA_SOURCE | 0 | vma | $1 |
| DATA_SOURCE | 1 | address | $2 |
| LOCK2 | &state.ctx->map_changing_lock | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
mm/shmem.c shmem_mfill_folio_alloc() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | address | $1 |
| LOCK2 | &state.ctx->map_changing_lock | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
mm/hugetlb.c huge_pmd_share() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| BUF_SIZE | 0 | vma | (-1)-s32max |
| BUF_SIZE | 0 | vma | (-1)-s32max |
| BUF_SIZE | 0 | vma->vm_mm | (-1)-s32max |
| CAPPED_DATA | 0 | vma | 1 |
| CAPPED_DATA | 0 | vma->vm_start | 1 |
| DATA_SOURCE | 0 | vma | $1 |
| DATA_SOURCE | 1 | address | $2 |
| NOSPEC | 0 | vma->vm_start | |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | vma->vm_end | 1073741824-u64max[c] |
| USER_DATA | 0 | vma->vm_start | 0-u64max[c] |
| USER_DATA | 1 | address | 0-u64max |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_file->f_mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_file->f_mapping->host->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_pgoff | |
| UNITS | 0 | vma | unit_byte |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | &mapping->i_mmap_rwsem | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &oldmm->mmap_lock | ||
| HALF_LOCKED2 | &state.ctx->map_changing_lock | ||
| HALF_LOCKED2 | 0 | &vma->vm_file->f_mapping->i_mmap_rwsem |
mm/hugetlb.c hugetlbfs_pagecache_present() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| CAPPED_DATA | 0 | vma | 1 |
| DATA_SOURCE | 0 | vma | $1 |
| DATA_SOURCE | 1 | address | $2 |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_file->f_mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_file->f_mapping->host->i_size | |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | &state.ctx->map_changing_lock |
mm/hugetlb.c unmap_ref_private() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| CAPPED_DATA | 0 | vma | 1 |
| CAPPED_DATA | 1 | address | 1 |
| CAPPED_DATA | 1 | address | 1 |
| DATA_SOURCE | 0 | vma | $1 |
| BIT_INFO | 0 | vma->vm_flags | 0x0,0xffffffffffffff7f |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | vma->vm_policy->home_node | 0-1023 |
| USER_DATA | 1 | address | 0-u64max[c] |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock |
mm/hugetlb.c vma_hugecache_offset() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| BUF_SIZE | 0 | vma | (-1)-s32max |
| BUF_SIZE | 0 | vma | (-1)-s32max |
| BUF_SIZE | 0 | vma->vm_file | (-1)-s32max |
| BUF_SIZE | 0 | vma->vm_mm | (-1),1-s32max |
| BUF_SIZE | 0 | vma->vm_ops | (-1),144 |
| BUF_SIZE | 0 | vma->vm_private_data | (-1),1-s32max |
| CAPPED_DATA | 0 | vma | 1 |
| DATA_SOURCE | 0 | vma | $1 |
| DATA_SOURCE | 1 | address | $2 |
| NOSPEC | 0 | vma->vm_end | |
| NOSPEC | 0 | vma->vm_pgoff | |
| NOSPEC | 0 | vma->vm_start | |
| NOSPEC | 1 | address | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | vma->pfnmap_track_ctx->pfn | 0-9007201402224637[c] |
| USER_DATA | 0 | vma->pfnmap_track_ctx->size | 0,4096-u64max[c] |
| USER_DATA | 0 | vma->vm_end | 0-u64max |
| USER_DATA | 0 | vma->vm_pgoff | 0-9007201402224637[c] |
| USER_DATA | 0 | vma->vm_policy->home_node | 0-1023 |
| USER_DATA | 0 | vma->vm_policy->mode | 2-3,5-u16max |
| USER_DATA | 0 | vma->vm_start | 0-u64max |
| USER_DATA | 1 | address | 0-u64max |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_file->f_mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_file->f_mapping->host->i_size | |
| UNITS | 0 | vma | unit_byte |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | &state.ctx->map_changing_lock | ||
| HALF_LOCKED2 | 0 | &vma->vm_private_data->rw_sema |
mm/mremap.c check_prep_vma() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| USER_DATA | 1 | address | 0-u64max |
| UNITS | 1 | address | unit_byte |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/mremap.c copy_vma_and_data() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| CAPPED_DATA | 0 | vma | 1 |
| USER_DATA | 1 | address | 0-u64max |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| UNITS | 1 | address | unit_byte |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/mremap.c vrm_set_new_addr() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 1-u64max |
| USER_DATA | 1 | address | 0-u64max |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| UNITS | 1 | address | unit_byte |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/ksm.c linear_anon_page_index() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| BUF_SIZE | 0 | vma | (-1),4,24,64,168-s32max |
| BUF_SIZE | 0 | vma | (-1),4,24,64,168-s32max |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | address | $1 |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0,4096-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_pgoff | |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | global &ksm_thread_mutex |
mm/vma.c copy_vma() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 1 | address | 0-18446744073709547520 |
| DATA_SOURCE | 1 | address | $1 |
| USER_DATA | 1 | address | 0-s32max[c] |
| UNITS | 1 | address | unit_byte |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/vma.c vma_merge_extend() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| CAPPED_DATA | 0 | vma->vm_end | 1 |
| CAPPED_DATA | 1 | address | 1 |
| CAPPED_DATA | 1 | address | 1 |
| DATA_SOURCE | 0 | vma | $1 |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 1 | address | |
| UNITS | 1 | address | unit_byte |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/vma.c vma_modify_flags() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| CAPPED_DATA | 0 | vma | 1 |
| DATA_SOURCE | 0 | vma | $2 |
| DATA_SOURCE | 1 | address | $3 |
| NOSPEC | 1 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0-u64max |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| UNITS | 1 | address | unit_byte |
mm/vma.c vma_modify_flags_uffd() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| CAPPED_DATA | 0 | vma | 1 |
| DATA_SOURCE | 0 | vma | $2 |
| DATA_SOURCE | 1 | address | $3 |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0-18446744073709551614[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_file->f_mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| NO_OVERFLOW_SIMPLE | 1 | address | |
| UNITS | 1 | address | unit_byte |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/vma.c vma_modify_name() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| DATA_SOURCE | 0 | vma | $2 |
| DATA_SOURCE | 1 | address | $3 |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0-u64max |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | &madv_behavior->mm->mmap_lock |
mm/vma.c vma_modify_policy() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| DATA_SOURCE | 0 | vma | $2 |
| DATA_SOURCE | 1 | address | $3 |
| USER_DATA | 0 | vma->vm_policy->flags | 0,24,8192-57368[c] |
| USER_DATA | 0 | vma->vm_policy->home_node | 0-1023 |
| USER_DATA | 0 | vma->vm_policy->mode | 2-3,5-u16max |
| USER_DATA | 1 | address | 1-u64max[c] |
| NO_OVERFLOW_SIMPLE | 1 | address | |
| UNITS | 1 | address | unit_byte |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/memory.c __handle_mm_fault() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma->vm_file | (-1),4,24,64,168-s32max |
| BUF_SIZE | 0 | vma->vm_private_data | (-1)-s32max |
| CAPPED_DATA | 0 | vma | 1 |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | address | $1 |
| NOSPEC | 0 | vma->vm_pgoff | |
| NOSPEC | 0 | vma->vm_start | |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | vma->vm_end | 4096-u64max[c] |
| USER_DATA | 0 | vma->vm_pgoff | 0-4503599627370495[c] |
| USER_DATA | 0 | vma->vm_start | 0-18446744073709547520 |
| USER_DATA | 1 | address | 0-u64max |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_file->f_mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_policy->mode | |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memory.c __vm_normal_page() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 0 | vma->vm_flags | 1024-u64max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma->vm_mm | (-1),4,24,64,168-s32max |
| BUF_SIZE | 0 | vma->vm_ops | (-1),144 |
| BUF_SIZE | 0 | vma->vm_private_data | s32min-(-1),1-s32max |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | address | $1 |
| BIT_INFO | 0 | vma->vm_flags | 0x0,0xffffffffefffffff |
| NOSPEC | 0 | vma->vm_end | |
| NOSPEC | 0 | vma->vm_pgoff | |
| NOSPEC | 0 | vma->vm_start | |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | vma->pfnmap_track_ctx->pfn | 0-9007201402224637[c] |
| USER_DATA | 0 | vma->pfnmap_track_ctx->size | 0,4096-u64max[c] |
| USER_DATA | 0 | vma->shared.rb_subtree_last | 0-u64max[u] |
| USER_DATA | 0 | vma->vm_end | 0-u64max |
| USER_DATA | 0 | vma->vm_pgoff | 0-9007201402224637[c] |
| USER_DATA | 0 | vma->vm_start | 0-u64max |
| USER_DATA | 1 | address | 0-u64max |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_file->f_mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_file->f_mapping->host->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_policy->mode | |
| UNITS | 0 | vma | unit_byte |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memory.c print_bad_page_map() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| BUF_SIZE | 0 | vma | (-1),4,24,64,168-s32max |
| BUF_SIZE | 0 | vma | (-1),4,24,64,168-s32max |
| BUF_SIZE | 0 | vma->vm_mm | (-1),4,24,64,168-s32max |
| BUF_SIZE | 0 | vma->vm_ops | (-1),144 |
| BUF_SIZE | 0 | vma->vm_private_data | s32min-(-1),1-s32max |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | address | $1 |
| NOSPEC | 0 | vma->vm_end | |
| NOSPEC | 0 | vma->vm_pgoff | |
| NOSPEC | 0 | vma->vm_start | |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | vma->pfnmap_track_ctx->pfn | 0-9007201402224637[c] |
| USER_DATA | 0 | vma->pfnmap_track_ctx->size | 0,4096-u64max[c] |
| USER_DATA | 0 | vma->shared.rb_subtree_last | 0-u64max[u] |
| USER_DATA | 0 | vma->vm_end | 0-u64max |
| USER_DATA | 0 | vma->vm_pgoff | 0-9007201402224637[c] |
| USER_DATA | 0 | vma->vm_start | 0-u64max |
| USER_DATA | 1 | address | 0-u64max |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_file->f_mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_file->f_mapping->host->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_policy->mode | |
| UNITS | 0 | vma | unit_byte |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | ptl | ||
| HALF_LOCKED2 | 0 | &vma->anon_vma->root->rwsem |
mm/mincore.c __mincore_unmapped_range() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| CAPPED_DATA | 0 | vma | 1 |
| DATA_SOURCE | 0 | vma | $2 |
| DATA_SOURCE | 1 | address | $0 |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | ptl |
drivers/gpu/drm/ttm/ttm_bo_vm.c ttm_bo_vm_fault_reserved() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | &rdev->pm.mclk_lock | ||
| HALF_LOCKED2 | bo->base.resv | ||
| HALF_LOCKED2 | global &drm_unplug_srcu |
mm/khugepaged.c __collapse_huge_page_swapin() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 1 | address | 0,4096-18446744073709551614 |
| CAPPED_DATA | 1 | address | 1 |
| CAPPED_DATA | 1 | address | 1 |
| DATA_SOURCE | 0 | vma | $1 |
| FUZZY_MAX | 1 | address | 18446744073709551614 |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| HARD_MAX | 1 | address | 18446744073709551614 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0,4096,2097152-18446744073709551614[c] |
| UNITS | 1 | address | unit_byte |
| LOCK2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | rcu_read | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/khugepaged.c collapse_single_pmd() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 1 | address | 0,2097152-18446744073709551614 |
| CAPPED_DATA | 1 | address | 1 |
| CAPPED_DATA | 1 | address | 1 |
| DATA_SOURCE | 0 | vma | $1 |
| DATA_SOURCE | 1 | address | $0 |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0,2097152-18446744073709551614[c] |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock |
mm/khugepaged.c try_collapse_pte_mapped_thp() -> linear_page_index()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 0 | vma->vm_start | 0 |
| PARAM_VALUE | 1 | address | 0 |
| DATA_SOURCE | 0 | vma | r vma_lookup |
| PARAM_COMPARE | 1 | address | == $0->vm_start |
| PARAM_COMPARE | 1 | address | == $0->vm_start |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0[c] |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock |