Defined in 2 files as a function:
- include/linux/mm.h, line 1724 (as a function)
- tools/testing/vma/include/dup.h, line 1448 (as a function)
Referenced in 9 files:
- fs/proc/task_mmu.c
- kernel/sched/fair.c, line 4209
- mm/mmap.c
- mm/mmap_lock.c
- mm/userfaultfd.c
- mm/vma.c
- mm/vma.h, line 213
- tools/testing/vma/shared.c, line 78
- tools/testing/vma/tests/merge.c
Smatch caller information:
mm/mmap.c dup_mmap() -> vma_iter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmi | 3206200147527860224 |
| PARAM_VALUE | 0 | vmi->mas.mas_flags | 0,2-254 |
| PARAM_VALUE | 0 | vmi->mas.node_request | 0 |
| PARAM_VALUE | 0 | vmi->mas.sheaf | 0 |
| PARAM_VALUE | 1 | addr | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | vmi->mas.index | |
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &oldmm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/mmap.c tear_down_vmas() -> vma_iter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmi | 3206200147527860224,7384155619282165760 |
| PARAM_VALUE | 0 | vmi->mas.alloc | 0 |
| PARAM_VALUE | 0 | vmi->mas.mas_flags | 0,2-254 |
| PARAM_VALUE | 0 | vmi->mas.node_request | 0 |
| PARAM_VALUE | 0 | vmi->mas.sheaf | 0 |
| PARAM_VALUE | 0 | vmi->mas.status | 0-3,5,8-u32max |
| DATA_SOURCE | 0 | vmi | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | vmi->mas.index | |
| UNITS | 1 | addr | unit_byte |
| LOCK2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &oldmm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/mmap.c unmap_pgtable_init() -> vma_iter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmi | 7384155619282165760 |
| PARAM_VALUE | 0 | vmi->mas.alloc | 0 |
| PARAM_VALUE | 0 | vmi->mas.mas_flags | 0 |
| PARAM_VALUE | 0 | vmi->mas.node_request | 0 |
| PARAM_VALUE | 0 | vmi->mas.sheaf | 0 |
| PARAM_VALUE | 0 | vmi->mas.status | 0,2-3 |
| PARAM_VALUE | 0 | vmi->mas.store_type | 0 |
| DATA_SOURCE | 0 | vmi | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | addr | unit_byte |
| LOCK2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/userfaultfd.c mrwprotect_range() -> vma_iter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmi | 5766468818838921216 |
| PARAM_VALUE | 0 | vmi->mas.mas_flags | 0 |
| PARAM_VALUE | 0 | vmi->mas.node_request | 0 |
| PARAM_VALUE | 0 | vmi->mas.sheaf | 0 |
| PARAM_VALUE | 0 | vmi->mas.status | 0-1,3,5,8-u32max |
| PARAM_VALUE | 0 | vmi->mas.store_type | 0 |
| PARAM_VALUE | 1 | addr | 0-18446744073709551614 |
| CAPPED_DATA | 1 | addr | 1 |
| CAPPED_DATA | 1 | addr | 1 |
| DATA_SOURCE | 1 | addr | $1 [m] |
| NOCHECK_CALL | |||
| USER_DATA | 0 | vmi->mas.index | 0-18446744073709551614[c] |
| USER_DATA | 0 | vmi->mas.last | 0-u64max |
| USER_DATA | 1 | addr | 0-18446744073709551614[c] |
| NO_OVERFLOW_SIMPLE | 0 | vmi->mas.index | |
| NO_OVERFLOW_SIMPLE | 1 | addr | |
| UNITS | 1 | addr | unit_byte |
| LOCK2 | &dst_mm->mmap_lock | ||
| LOCK2 | _T->lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/userfaultfd.c userfaultfd_unregister() -> vma_iter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmi | 1467127174713044992 |
| PARAM_VALUE | 0 | vmi->mas.mas_flags | 0 |
| PARAM_VALUE | 0 | vmi->mas.node_request | 0 |
| PARAM_VALUE | 0 | vmi->mas.sheaf | 0 |
| PARAM_VALUE | 0 | vmi->mas.status | 0-1,3,5,8-u32max |
| PARAM_VALUE | 0 | vmi->mas.store_type | 0 |
| PARAM_VALUE | 1 | addr | 0-18446744073709551614 |
| CAPPED_DATA | 1 | addr | 1 |
| CAPPED_DATA | 1 | addr | 1 |
| NOSPEC | 0 | vmi->mas.last | |
| NOSPEC | 1 | addr | |
| NOSPEC | 1 | addr | |
| NOCHECK_CALL | |||
| USER_DATA | 0 | vmi->mas.last | 0-18446744073709551614 |
| USER_DATA | 1 | addr | 0-18446744073709551614[c] |
| NO_OVERFLOW_SIMPLE | 0 | vmi->mas.last | |
| NO_OVERFLOW_SIMPLE | 1 | addr | |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
fs/proc/task_mmu.c fallback_to_mmap_lock() -> vma_iter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmi | 4096-ptr_max |
| PARAM_VALUE | 0 | vmi->mas.status | 0-5,7-u32max |
| DATA_SOURCE | 1 | addr | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &lock_ctx->mm->mmap_lock | ||
| LOCK2 | &m->lock | ||
| HALF_LOCKED2 | &priv->lock_ctx.mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
fs/proc/task_mmu.c reacquire_rcu() -> vma_iter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmi | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | addr | unit_byte |
| LOCK2 | &m->lock | ||
| LOCK2 | rcu_read | ||
| TYPE_LOCK | (struct seq_file)->lock |
mm/vma.c __mmap_new_file_vma() -> vma_iter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmi | 7342498018941853696 |
| PARAM_VALUE | 0 | vmi->mas.mas_flags | 1,3-255 |
| PARAM_VALUE | 0 | vmi->mas.node | 0 |
| PARAM_VALUE | 0 | vmi->mas.node_request | 0-1 |
| PARAM_VALUE | 0 | vmi->mas.sheaf | 0,4096-ptr_max |
| PARAM_VALUE | 0 | vmi->mas.status | 0,2,7-u32max |
| PARAM_VALUE | 0 | vmi->mas.store_type | 1-9 |
| NOCHECK_CALL | |||
| UNITS | 1 | addr | unit_byte |
mm/vma.c vma_merge_existing_range() -> vma_iter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmi | 4096-ptr_max |
| PARAM_VALUE | 0 | vmi->mas.status | 0-3,6-u32max |
| NOSPEC | 0 | vmi->mas.index | |
| NOSPEC | 1 | addr | |
| NOSPEC | 1 | addr | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | vmi->mas.index | 0-u64max |
| USER_DATA | 0 | vmi->mas.last | 0-u64max |
| USER_DATA | 1 | addr | 0-u64max |
| NO_OVERFLOW_SIMPLE | 0 | vmi->mas.sheaf->capacity | |
| UNITS | 1 | addr | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock |
mm/vma.c vms_gather_munmap_vmas() -> vma_iter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmi | 134236606698369024,1022776648951132160,4907233300821278720,5394055068851789824,5831082256766734336,7107899751205675008,7342498018941853696,7547875335579738112 |
| PARAM_VALUE | 0 | vmi->mas.status | 0-3,5,7-u32max |
| CAPPED_DATA | 1 | addr | 1 |
| CAPPED_DATA | 1 | addr | 1 |
| NOSPEC | 1 | addr | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | addr | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vmi->mas.index | |
| UNITS | 1 | addr | unit_byte |
kernel/sched/fair.c task_numa_work() -> vma_iter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmi | 246989008896827392 |
| PARAM_VALUE | 0 | vmi->mas.mas_flags | 0 |
| PARAM_VALUE | 0 | vmi->mas.node_request | 0 |
| PARAM_VALUE | 0 | vmi->mas.sheaf | 0 |
| PARAM_VALUE | 0 | vmi->mas.status | 0-1,3,5,8-u32max |
| PARAM_VALUE | 0 | vmi->mas.store_type | 0 |
| PARAM_VALUE | 1 | addr | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | addr | unit_byte |
| LOCK2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/mmap_lock.c lock_next_vma() -> vma_iter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmi | 4096-ptr_max |
| PARAM_VALUE | 0 | vmi->mas.status | 0,2-3 |
| DATA_SOURCE | 0 | vmi | $1 |
| DATA_SOURCE | 1 | addr | $2 |
| NOSPEC | 0 | vmi->mas.index | |
| NOSPEC | 0 | vmi->mas.last | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | vmi->mas.index | 0-u64max |
| USER_DATA | 0 | vmi->mas.last | 0-u64max |
| USER_DATA | 1 | addr | 0-u64max |
| UNITS | 1 | addr | unit_byte |
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &m->lock |
mm/mmap_lock.c lock_next_vma() -> vma_iter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmi | 4096-ptr_max |
| PARAM_VALUE | 0 | vmi->mas.status | 0,2-3 |
| PARAM_VALUE | 1 | addr | 0-18446744073709551614 |
| CAPPED_DATA | 1 | addr | 1 |
| CAPPED_DATA | 1 | addr | 1 |
| DATA_SOURCE | 0 | vmi | $1 |
| DATA_SOURCE | 1 | addr | $2 |
| NOSPEC | 0 | vmi->mas.index | |
| NOSPEC | 0 | vmi->mas.last | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | vmi->mas.index | 0-u64max |
| USER_DATA | 0 | vmi->mas.last | 0-u64max |
| USER_DATA | 1 | addr | 0-s32max[c] |
| UNITS | 1 | addr | unit_byte |
| HALF_LOCKED2 | &m->lock | ||
| HALF_LOCKED2 | rcu_read |
mm/mmap_lock.c lock_next_vma() -> vma_iter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmi | 4096-ptr_max |
| PARAM_VALUE | 0 | vmi->mas.status | 0-3,5,8-u32max |
| DATA_SOURCE | 0 | vmi | $1 |
| NOSPEC | 0 | vmi->mas.index | |
| NOSPEC | 0 | vmi->mas.last | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | vmi->mas.index | 0-u64max |
| USER_DATA | 0 | vmi->mas.last | 0-u64max |
| USER_DATA | 1 | addr | 0-u64max |
| UNITS | 1 | addr | unit_byte |
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &m->lock |
mm/mmap_lock.c lock_next_vma_under_mmap_lock() -> vma_iter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmi | 4096-ptr_max |
| PARAM_VALUE | 0 | vmi->mas.status | 0-3,5,8-u32max |
| DATA_SOURCE | 0 | vmi | $1 |
| DATA_SOURCE | 1 | addr | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | vmi->mas.index | 0-u64max |
| USER_DATA | 0 | vmi->mas.last | 0-u64max |
| USER_DATA | 1 | addr | 0-u64max |
| UNITS | 1 | addr | unit_byte |
| LOCK2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &m->lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |