Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 6 files:
- fs/proc/task_mmu.c
- mm/damon/vaddr.c, line 264
- mm/hmm.c, line 707
- mm/memory-failure.c, line 834
- mm/mempolicy.c, line 999
- mm/vmscan.c, line 3854
Smatch caller information:
mm/damon/vaddr.c damon_va_walk_page_range() -> walk_page_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 3 | ops | 531849348578320384,2820922244882329600,2894753071351750656,5073249137812905984 |
| PARAM_VALUE | 3 | ops->hugetlb_entry | 0,2150530278943326208,3558474905456021504 |
| PARAM_VALUE | 3 | ops->install_pte | 0 |
| PARAM_VALUE | 3 | ops->pmd_entry | 109225324094066688,638766543767572480,2735973693978808320,8541426788756492288 |
| PARAM_VALUE | 3 | ops->post_vma | 0 |
| PARAM_VALUE | 3 | ops->pre_vma | 0 |
| PARAM_VALUE | 3 | ops->pte_entry | 0 |
| PARAM_VALUE | 3 | ops->pte_hole | 0 |
| PARAM_VALUE | 3 | ops->test_walk | 0 |
| PARAM_VALUE | 3 | ops->walk_lock | 0 |
| PARAM_VALUE | 4 | private | 0,4296875364448100352,4755025377996009472,7851507554896019456 |
| BUF_SIZE | 4 | private | (-1),16 |
| BUF_SIZE | 4 | private | (-1),16 |
| CAPPED_DATA | 0 | mm | 1 |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 1 | start | $1 |
| DATA_SOURCE | 2 | end | $2 |
| DATA_SOURCE | 3 | ops | $3 |
| DATA_SOURCE | 4 | private | $4 |
| NOCHECK_CALL | |||
| UNITS | 1 | start | unit_byte |
| UNITS | 2 | end | unit_byte |
| LOCK2 | 0 | &mm->mmap_lock | |
| HALF_LOCKED2 | &ctx->walk_control_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
fs/proc/task_mmu.c clear_refs_write() -> walk_page_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.next | 2624917664208203776 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.prev | 2624917664208203776 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 1 | start | 0 |
| PARAM_VALUE | 2 | end | u64max |
| PARAM_VALUE | 3 | ops | 5709648744958300160 |
| PARAM_VALUE | 4 | private | 5877639531578228736 |
| BUF_SIZE | 4 | private | 4 |
| DATA_SOURCE | 0 | mm | r get_task_mm |
| NOCHECK_CALL | |||
| LOCK2 | 0 | &mm->mmap_lock | |
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
fs/proc/task_mmu.c do_pagemap_scan() -> walk_page_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | start | 0-18446744073709551614 |
| PARAM_VALUE | 2 | end | 4096-u64max |
| PARAM_VALUE | 3 | ops | 5316570405784981504 |
| PARAM_VALUE | 3 | ops->install_pte | 0 |
| PARAM_VALUE | 3 | ops->pte_hole | 4904888130885226496 |
| PARAM_VALUE | 3 | ops->test_walk | 3579000157725052928 |
| PARAM_VALUE | 4 | private | 3269087882135674880 |
| BUF_SIZE | 0 | mm | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | mm | s32min-(-2),1-s32max |
| BUF_SIZE | 4 | private | 152 |
| CAPPED_DATA | 1 | start | 1 |
| CAPPED_DATA | 1 | start | 1 |
| CAPPED_DATA | 2 | end | 1 |
| CAPPED_DATA | 2 | end | 1 |
| DATA_SOURCE | 0 | mm | $0 |
| PARAM_COMPARE | 1 | start | < $2 |
| PARAM_COMPARE | 2 | end | > $1 |
| PARAM_COMPARE | 2 | end | > $1 |
| NOSPEC | 1 | start | |
| NOSPEC | 2 | end | |
| USER_DATA | 1 | start | 0-18446744073709551614 |
| USER_DATA | 2 | end | 4096-u64max[c] |
| UNITS | 1 | start | unit_byte |
| UNITS | 2 | end | unit_byte |
| LOCK2 | 0 | &mm->mmap_lock | |
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
fs/proc/task_mmu.c pagemap_read() -> walk_page_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mm_users.counter | 0-s32max |
| PARAM_VALUE | 0 | mm->mmap_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | start | 0-18446744073709551614 |
| PARAM_VALUE | 3 | ops | 601129857264615424 |
| PARAM_VALUE | 3 | ops->install_pte | 0 |
| PARAM_VALUE | 3 | ops->pte_hole | 8747928521055248384 |
| PARAM_VALUE | 3 | ops->test_walk | 0 |
| PARAM_VALUE | 4 | private | 7091451889076596736 |
| BUF_SIZE | 0 | mm | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | mm | s32min-(-2),1-s32max |
| BUF_SIZE | 4 | private | 24 |
| CAPPED_DATA | 1 | start | 1 |
| CAPPED_DATA | 1 | start | 1 |
| CAPPED_DATA | 2 | end | 1 |
| CAPPED_DATA | 2 | end | 1 |
| PARAM_COMPARE | 0 | mm->task_size | >= $1 |
| PARAM_COMPARE | 1 | start | <= $0->task_size |
| PARAM_COMPARE | 1 | start | <= $2 |
| PARAM_COMPARE | 2 | end | <= $0->task_size |
| PARAM_COMPARE | 2 | end | <= $0->task_size |
| PARAM_COMPARE | 2 | end | >= $1 |
| PARAM_COMPARE | 2 | end | >= $1 |
| BIT_INFO | 1 | start | 0x0,0x7fffffffff |
| BIT_INFO | 1 | start | 0x0,0x7fffffffff |
| NOSPEC | 1 | start | |
| NOSPEC | 1 | start | |
| USER_DATA | 1 | start | 0-s32max[c] |
| USER_DATA | 2 | end | 0-2147483648[c] |
| UNITS | 1 | start | unit_byte |
| UNITS | 2 | end | unit_byte |
| LOCK2 | 0 | &mm->mmap_lock | |
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
fs/proc/task_mmu.c smap_gather_stats() -> walk_page_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | start | 1-18446744073709551614 |
| PARAM_VALUE | 2 | end | 1-u64max |
| PARAM_VALUE | 3 | ops | 3192951946196508672,5080546469262647296 |
| PARAM_VALUE | 4 | private | 3974611792214499328 |
| BUF_SIZE | 3 | ops | 96 |
| CAPPED_DATA | 1 | start | 1 |
| CAPPED_DATA | 1 | start | 1 |
| DATA_SOURCE | 1 | start | $3 |
| DATA_SOURCE | 4 | private | $2 |
| PARAM_COMPARE | 1 | start | < $2 |
| PARAM_COMPARE | 1 | start | < $2 |
| PARAM_COMPARE | 2 | end | > $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | mm | unit_byte |
| UNITS | 1 | start | unit_byte |
| UNITS | 2 | end | unit_byte |
| LOCK2 | &m->lock | ||
| LOCK2 | &priv->lock_ctx.mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
mm/vmscan.c walk_mm() -> walk_page_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | mm->page_table_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | start | 0 |
| PARAM_VALUE | 2 | end | u64max |
| PARAM_VALUE | 3 | ops | 6231453082019635200 |
| PARAM_VALUE | 3 | ops->install_pte | 0 |
| PARAM_VALUE | 3 | ops->p4d_entry | 2588602558124785664 |
| PARAM_VALUE | 3 | ops->post_vma | 0 |
| PARAM_VALUE | 3 | ops->pre_vma | 0 |
| PARAM_VALUE | 3 | ops->pte_entry | 0 |
| PARAM_VALUE | 3 | ops->pte_hole | 0 |
| PARAM_VALUE | 3 | ops->test_walk | 3884307282354860032 |
| PARAM_VALUE | 3 | ops->walk_lock | 0 |
| PARAM_VALUE | 4 | private | 4096-ptr_max |
| BUF_SIZE | 4 | private | (-1),216 |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 4 | private | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | start | unit_byte |
| LOCK2 | 0 | &mm->mmap_lock | |
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/memory-failure.c kill_accessing_process() -> walk_page_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | start | 0 |
| PARAM_VALUE | 3 | ops | 5725271400779522048 |
| PARAM_VALUE | 4 | private | 7430391368043581440 |
| BUF_SIZE | 4 | private | 56 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
| LOCK2 | &p->mm->mmap_lock | ||
| LOCK2 | global &mf_mutex | ||
| LOCK2 | 0 | &mm->mmap_lock | |
| HALF_LOCKED2 | &attr->mutex | ||
| HALF_LOCKED2 | &of->mutex | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/mempolicy.c queue_pages_range() -> walk_page_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.next | 2212933610777083904,2624917664208203776 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.prev | 2212933610777083904,2624917664208203776 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 3 | ops | 1814242973969231872,7307550312213180416 |
| PARAM_VALUE | 4 | private | 7937236852978606080 |
| BUF_SIZE | 3 | ops | 96 |
| BUF_SIZE | 4 | private | 64 |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 1 | start | $1 |
| DATA_SOURCE | 2 | end | $2 |
| BIT_INFO | 3 | ops | 0x129204a19823000,0x7d6dfe5fffeff000 |
| BIT_INFO | 3 | ops | 0x129204a19823000,0x7d6dfe5fffeff000 |
| HARD_MAX | 0 | mm->mmap_lock.first_waiter->list.next | 2624917664208203776 |
| HARD_MAX | 0 | mm->mmap_lock.first_waiter->list.prev | 2624917664208203776 |
| USER_DATA | 1 | start | 0-u64max[c] |
| USER_DATA | 2 | end | 0-u64max |
| NO_OVERFLOW_SIMPLE | 1 | start | |
| UNITS | 0 | mm | unit_byte |
| UNITS | 1 | start | unit_byte |
| LOCK2 | 0 | &mm->mmap_lock | |
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/hmm.c hmm_range_fault_locked() -> walk_page_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 3 | ops | 7558909203708317696 |
| PARAM_VALUE | 3 | ops->install_pte | 0 |
| PARAM_VALUE | 3 | ops->pte_hole | 8751955949471588352 |
| PARAM_VALUE | 3 | ops->test_walk | 4883456721044340736 |
| PARAM_VALUE | 4 | private | 6275631261028515840 |
| BUF_SIZE | 4 | private | 40 |
| NOSPEC | 1 | start | |
| NOSPEC | 1 | start | |
| NOSPEC | 2 | end | |
| NOSPEC | 2 | end | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | start | 0-u64max[c] |
| USER_DATA | 2 | end | 0-u64max[c] |
| UNITS | 0 | mm | unit_byte |
| UNITS | 1 | start | unit_byte |
| UNITS | 2 | end | unit_byte |
| LOCK2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &vm->lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |