Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/pagewalk.c walk_page_mapping() -> mapping_rmap_tree_iter_first()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
DATA_SOURCE 0 mapping $0
DATA_SOURCE 1 pgoff_start $1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 pgoff_start unit_page
UNITS 2 pgoff_last unit_page
LOCK2 0 &mapping->i_mmap_rwsem
TYPE_LOCK (struct address_space)->i_mmap_rwsem

fs/dax.c dax_writeback_one() -> mapping_rmap_tree_iter_first()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
BUF_SIZE 0 mapping (-1),552
BUF_SIZE 0 mapping (-1),552
BUF_SIZE 0 mapping->a_ops (-1),152
CAPPED_DATA 1 pgoff_start 1
CAPPED_DATA 1 pgoff_start 1
DATA_SOURCE 0 mapping $2
NOSPEC 0 mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 mapping->host->i_bytes 0-65023[c]
USER_DATA 0 mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 mapping->host->i_size
LOCK2 &((&xas)->xa)->xa_lock
LOCK2 0 &mapping->i_mmap_rwsem
HALF_LOCKED2 0 &mapping->invalidate_lock
TYPE_LOCK (struct address_space)->i_mmap_rwsem

mm/rmap.c __rmap_walk_file() -> mapping_rmap_tree_iter_first()

Type Parameter Key Value
PARAM_VALUE 0 mapping 1-u64max
CAPPED_DATA 0 mapping 1
DATA_SOURCE 0 mapping $1
DATA_SOURCE 1 pgoff_start $2
NOSPEC 0 mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 mapping->host->i_size
NO_OVERFLOW_SIMPLE 1 pgoff_start
UNITS 1 pgoff_start unit_page
UNITS 2 pgoff_last unit_page
HALF_LOCKED2 &fbdefio_state->lock
HALF_LOCKED2 0 &mapping->i_mmap_rwsem

mm/hugetlb.c huge_pmd_share() -> mapping_rmap_tree_iter_first()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
DATA_SOURCE 1 pgoff_start r linear_page_index
DATA_SOURCE 2 pgoff_last r linear_page_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 pgoff_start 0-13510801029595132[c]
USER_DATA 2 pgoff_last 0-13510801029595132[c]
LOCK2 0 &mapping->i_mmap_rwsem
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 &vma->vm_file->f_mapping->i_mmap_rwsem
TYPE_LOCK (struct address_space)->i_mmap_rwsem

mm/hugetlb.c unmap_ref_private() -> mapping_rmap_tree_iter_first()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
DATA_SOURCE 1 pgoff_start r linear_page_index
DATA_SOURCE 2 pgoff_last r linear_page_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 pgoff_start 0-13510801029595132[c]
USER_DATA 2 pgoff_last 0-13510801029595132[c]
LOCK2 0 &mapping->i_mmap_rwsem
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct address_space)->i_mmap_rwsem

mm/memory.c unmap_mapping_range_tree() -> mapping_rmap_tree_iter_first()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
DATA_SOURCE 0 mapping $0
DATA_SOURCE 1 pgoff_start $1
DATA_SOURCE 2 pgoff_last $2
NOSPEC 0 mapping->writeback_index
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 mapping->writeback_index 0-524287[c]
USER_DATA 1 pgoff_start 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 mapping->host->i_size
NO_OVERFLOW_SIMPLE 1 pgoff_start
UNITS 1 pgoff_start unit_page
UNITS 2 pgoff_last unit_page
LOCK2 0 &mapping->i_mmap_rwsem
HALF_LOCKED2 0 &mapping->host->i_rwsem
HALF_LOCKED2 0 &mapping->invalidate_lock
TYPE_LOCK (struct address_space)->i_mmap_rwsem

mm/memory-failure.c collect_procs_file() -> mapping_rmap_tree_iter_first()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
DATA_SOURCE 1 pgoff_start r page_pgoff
DATA_SOURCE 2 pgoff_last r page_pgoff
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &mf_mutex
LOCK2 rcu_read
LOCK2 0 &mapping->i_mmap_rwsem
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct address_space)->i_mmap_rwsem

mm/memory-failure.c collect_procs_fsdax() -> mapping_rmap_tree_iter_first()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
PARAM_VALUE 1 pgoff_start 0-18446744073709551614
PARAM_VALUE 2 pgoff_last 0-18446744073709551614
CAPPED_DATA 1 pgoff_start 1
CAPPED_DATA 1 pgoff_start 1
CAPPED_DATA 2 pgoff_last 1
CAPPED_DATA 2 pgoff_last 1
DATA_SOURCE 0 mapping $1
DATA_SOURCE 1 pgoff_start $2
DATA_SOURCE 2 pgoff_last $2
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
LOCK2 0 &mapping->i_mmap_rwsem
TYPE_LOCK (struct address_space)->i_mmap_rwsem

mm/memory-failure.c collect_procs_pfn() -> mapping_rmap_tree_iter_first()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
PARAM_VALUE 1 pgoff_start 0
PARAM_VALUE 2 pgoff_last u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 _T->lock
LOCK2 global &mf_mutex
LOCK2 rcu_read
LOCK2 0 &mapping->i_mmap_rwsem
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &of->mutex
TYPE_LOCK (struct address_space)->i_mmap_rwsem

fs/hugetlbfs/inode.c hugetlb_unmap_file_folio() -> mapping_rmap_tree_iter_first()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
BUF_SIZE 0 mapping 552
DATA_SOURCE 0 mapping $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &mapping->i_mmap_rwsem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &vma_lock->rw_sema
TYPE_LOCK (struct address_space)->i_mmap_rwsem

fs/hugetlbfs/inode.c hugetlb_vmdelete_list() -> mapping_rmap_tree_iter_first()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
PARAM_VALUE 1 pgoff_start 0-2251799813685247,18444492273895866368-u64max
PARAM_VALUE 2 pgoff_last 0-2251799813685246,u64max
DATA_SOURCE 0 mapping $0
DATA_SOURCE 1 pgoff_start $1
FUZZY_MAX 2 pgoff_last u64max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 pgoff_start 0-2251799813685247
USER_DATA 2 pgoff_last 0-2251799813685246[c]
UNITS 1 pgoff_start unit_page
UNITS 2 pgoff_last unit_page
LOCK2 0 &mapping->i_mmap_rwsem
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct address_space)->i_mmap_rwsem

kernel/events/uprobes.c build_map_info() -> mapping_rmap_tree_iter_first()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
PARAM_VALUE 1 pgoff_start 0-2251799813685247
PARAM_VALUE 2 pgoff_last 0-2251799813685247
CAPPED_DATA 1 pgoff_start 1
CAPPED_DATA 1 pgoff_start 1
CAPPED_DATA 2 pgoff_last 1
CAPPED_DATA 2 pgoff_last 1
DATA_SOURCE 0 mapping $0
RX_PATH
TASK_NOT_RUNNING
UNITS 1 pgoff_start unit_page
UNITS 2 pgoff_last unit_page
LOCK2 &uprobe->register_rwsem
LOCK2 0 &mapping->i_mmap_rwsem
HALF_LOCKED2 global &event_mutex
TYPE_LOCK (struct address_space)->i_mmap_rwsem
TYPE_LOCK (struct uprobe)->register_rwsem

mm/khugepaged.c collapse_file() -> mapping_rmap_tree_iter_first()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
PARAM_VALUE 1 pgoff_start 0-18446744073709551614
PARAM_VALUE 2 pgoff_last 1-u64max
CAPPED_DATA 0 mapping 1
CAPPED_DATA 0 mapping->host->i_sb->s_fs_info->max_blocks 1
CAPPED_DATA 1 pgoff_start 1
CAPPED_DATA 1 pgoff_start 1
CAPPED_DATA 2 pgoff_last 1
CAPPED_DATA 2 pgoff_last 1
DATA_SOURCE 1 pgoff_start $3
PARAM_COMPARE 1 pgoff_start < $2
PARAM_COMPARE 2 pgoff_last == $1
PARAM_COMPARE 2 pgoff_last > $1
PARAM_COMPARE 2 pgoff_last > $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 1 pgoff_start unit_page
UNITS 2 pgoff_last unit_page
LOCK2 &((&xas)->xa)->xa_lock
LOCK2 irq
LOCK2 0 &mapping->i_mmap_rwsem
HALF_LOCKED2 &mm->mmap_lock
TYPE_LOCK (struct address_space)->i_mmap_rwsem

mm/khugepaged.c retract_page_tables() -> mapping_rmap_tree_iter_first()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
CAPPED_DATA 0 mapping 1
DATA_SOURCE 0 mapping $0
DATA_SOURCE 1 pgoff_start $1
DATA_SOURCE 2 pgoff_last $1
NOSPEC 1 pgoff_start
NOSPEC 1 pgoff_start
NOSPEC 2 pgoff_last
NOSPEC 2 pgoff_last
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 mapping->host->i_blocks 0-18014398515341359,18428729675200069633-u64max
USER_DATA 1 pgoff_start 0-4503599627370495[c]
USER_DATA 2 pgoff_last 0-4503599627370495[c]
UNITS 1 pgoff_start unit_page
UNITS 2 pgoff_last unit_page
LOCK2 0 &mapping->i_mmap_rwsem
HALF_LOCKED2 &mm->mmap_lock
TYPE_LOCK (struct address_space)->i_mmap_rwsem