Defined in 6 files as a prototype:
- arch/arc/include/asm/pgtable-bits-arcv2.h, line 104 (as a prototype)
- arch/arm/include/asm/tlbflush.h, line 625 (as a prototype)
- arch/csky/include/asm/pgtable.h, line 258 (as a prototype)
- arch/nios2/include/asm/pgtable.h, line 275 (as a prototype)
- arch/sparc/include/asm/pgtable_64.h, line 974 (as a prototype)
- arch/xtensa/include/asm/pgtable.h, line 394 (as a prototype)
Defined in 5 files as a macro:
- arch/microblaze/include/asm/tlbflush.h, line 36 (as a macro)
- arch/parisc/include/asm/pgtable.h, line 390 (as a macro)
- arch/s390/include/asm/pgtable.h, line 53 (as a macro)
- arch/sparc/include/asm/pgtable_32.h, line 307 (as a macro)
- arch/um/include/asm/pgtable.h, line 287 (as a macro)
Defined in 19 files as a function:
- arch/alpha/include/asm/pgtable.h, line 312 (as a function)
- arch/arc/mm/tlb.c, line 472 (as a function)
- arch/arm/include/asm/tlbflush.h, line 628 (as a function)
- arch/arm/mm/fault-armv.c, line 187 (as a function)
- arch/arm64/include/asm/pgtable.h, line 1575 (as a function)
- arch/csky/abiv1/cacheflush.c, line 44 (as a function)
- arch/csky/abiv2/cacheflush.c, line 10 (as a function)
- arch/hexagon/include/asm/cacheflush.h, line 61 (as a function)
- arch/loongarch/include/asm/pgtable.h, line 476 (as a function)
- arch/m68k/include/asm/pgtable_mm.h, line 120 (as a function)
- arch/mips/include/asm/pgtable.h, line 575 (as a function)
- arch/nios2/mm/cacheflush.c, line 209 (as a function)
- arch/openrisc/include/asm/pgtable.h, line 360 (as a function)
- arch/powerpc/include/asm/pgtable.h, line 144 (as a function)
- arch/riscv/include/asm/pgtable.h, line 564 (as a function)
- arch/sh/include/asm/pgtable.h, line 97 (as a function)
- arch/sparc/mm/init_64.c, line 387 (as a function)
- arch/x86/include/asm/pgtable.h, line 1500 (as a function)
- arch/xtensa/mm/cache.c, line 216 (as a function)
Referenced in 18 files:
- arch/arc/include/asm/pgtable-bits-arcv2.h, line 108
- arch/arc/mm/tlb.c, line 534
- arch/arm/include/asm/tlbflush.h, line 636
- arch/arm64/include/asm/pgtable.h, line 1587
- arch/csky/include/asm/pgtable.h, line 261
- arch/hexagon/include/asm/cacheflush.h, line 69
- arch/loongarch/include/asm/pgtable.h
- arch/m68k/include/asm/pgtable_mm.h, line 127
- arch/microblaze/include/asm/tlbflush.h, line 38
- arch/mips/include/asm/pgtable.h
- arch/nios2/include/asm/pgtable.h, line 279
- arch/openrisc/include/asm/pgtable.h, line 369
- arch/powerpc/include/asm/pgtable.h, line 40
- arch/riscv/include/asm/pgtable.h
- arch/sh/include/asm/pgtable.h, line 106
- arch/sparc/include/asm/pgtable_64.h, line 977
- arch/xtensa/include/asm/pgtable.h, line 397
- mm/memory.c
Smatch caller information:
mm/memory.c do_swap_page() -> update_mmu_cache_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmf | 2508977417524461568,2900308121553498112 |
| PARAM_VALUE | 0 | vmf->address | 0,4096-u64max |
| PARAM_VALUE | 1 | vma | 4096-ptr_max |
| PARAM_VALUE | 3 | ptep | 4096-ptr_max |
| CAPPED_DATA | 4 | nr | 1 |
| DATA_SOURCE | 0 | vmf | $0 |
| NOSPEC | 0 | vmf->address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | vmf->address | 0,4096-u64max[c] |
| USER_DATA | 0 | vmf->pgoff | 0-9007199254740990[c] |
| USER_DATA | 0 | vmf->real_address | 0-u64max |
| USER_DATA | 1 | vma->vm_policy->flags | 0,24,8192-57368[c] |
| USER_DATA | 1 | vma->vm_policy->home_node | 0-1023 |
| USER_DATA | 1 | vma->vm_policy->mode | 2-3,5-u16max |
| USER_DATA | 2 | addr | 0,4096-u64max[c] |
| UNITS | 2 | addr | unit_byte |
| LOCK2 | 0 | vmf->ptl | |
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memory.c handle_pte_fault() -> update_mmu_cache_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmf | 2900308121553498112 |
| PARAM_VALUE | 0 | vmf->address | 0,4096-u64max |
| PARAM_VALUE | 1 | vma | 4096-ptr_max |
| PARAM_VALUE | 2 | addr | 0,4096-u64max |
| PARAM_VALUE | 3 | ptep | 4096-ptr_max |
| PARAM_VALUE | 4 | nr | 1 |
| DATA_SOURCE | 0 | vmf | $0 |
| DATA_SOURCE | 3 | ptep | r pte_offset_map_rw_nolock |
| BIT_INFO | 0 | vmf->flags | 0x800,0x1fff |
| NOSPEC | 0 | vmf->real_address | |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | vmf->address | 0,4096-u64max[c] |
| USER_DATA | 0 | vmf->pgoff | 0-13510801029595132[c] |
| USER_DATA | 0 | vmf->real_address | 0-u64max[c] |
| USER_DATA | 2 | addr | 0,4096-u64max[c] |
| UNITS | 2 | addr | unit_byte |
| LOCK2 | rcu_read | ||
| LOCK2 | 0 | vmf->ptl | |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock |
mm/memory.c map_anon_folio_pte_nopf() -> update_mmu_cache_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmf | 0 |
| PARAM_VALUE | 1 | vma | 4096-ptr_max |
| PARAM_VALUE | 3 | ptep | 4096-ptr_max |
| BUF_SIZE | 1 | vma | (-1),4,24,64,168-s32max |
| BUF_SIZE | 1 | vma | (-1),4,24,64,168-s32max |
| CAPPED_DATA | 2 | addr | 1 |
| CAPPED_DATA | 2 | addr | 1 |
| CAPPED_DATA | 3 | ptep | 1 |
| DATA_SOURCE | 1 | vma | $2 |
| DATA_SOURCE | 2 | addr | $3 |
| DATA_SOURCE | 3 | ptep | $1 |
| DATA_SOURCE | 4 | nr | r folio_nr_pages |
| NOSPEC | 2 | addr | |
| NOSPEC | 2 | addr | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 2 | addr | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 1 | vma->vm_pgoff | |
| UNITS | 2 | addr | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | pmd_ptl | ||
| HALF_LOCKED2 | vmf->ptl | ||
| HALF_LOCKED2 | 1 | &vma->anon_vma->root->rwsem |
mm/memory.c numa_rebuild_single_mapping() -> update_mmu_cache_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmf | 2900308121553498112 |
| PARAM_VALUE | 0 | vmf->address | 0,4096-u64max |
| PARAM_VALUE | 1 | vma | 4096-ptr_max |
| PARAM_VALUE | 3 | ptep | 4096-ptr_max |
| PARAM_VALUE | 4 | nr | 1 |
| BUF_SIZE | 0 | vmf->vma | (-1),1-s32max |
| BUF_SIZE | 1 | vma | (-1),1-s32max |
| BUF_SIZE | 1 | vma | (-1),1-s32max |
| CAPPED_DATA | 0 | vmf->vma | 1 |
| DATA_SOURCE | 0 | vmf | $0 |
| DATA_SOURCE | 1 | vma | $1 |
| DATA_SOURCE | 2 | addr | $2 |
| DATA_SOURCE | 3 | ptep | $3 |
| BIT_INFO | 0 | vmf->address | 0x0,0xfffffffffffff000 |
| BIT_INFO | 0 | vmf->flags | 0x800,0xffffffffffffffff |
| BIT_INFO | 0 | vmf->gfp_mask | 0xc0,0xffffffffffffffff |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | vmf->address | 0,4096-u64max[c] |
| USER_DATA | 0 | vmf->pgoff | 0-13510801029595132[c] |
| USER_DATA | 0 | vmf->real_address | 0-u64max[c] |
| USER_DATA | 0 | vmf->vma->vm_policy->flags | 0,24,8192-57368[c] |
| USER_DATA | 0 | vmf->vma->vm_policy->home_node | 0-1023 |
| USER_DATA | 0 | vmf->vma->vm_policy->mode | 2-3,5-u16max |
| USER_DATA | 2 | addr | 0,4096-u64max |
| NO_OVERFLOW_SIMPLE | 0 | vmf->vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 1 | vma->vm_pgoff | |
| UNITS | 2 | addr | unit_byte |
| UNITS | 3 | ptep | unit_page |
| LOCK2 | 0 | vmf->ptl | |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | rcu_read |
mm/memory.c set_pte_range() -> update_mmu_cache_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmf | 4096-ptr_max |
| PARAM_VALUE | 1 | vma | 4096-ptr_max |
| PARAM_VALUE | 3 | ptep | 4096-ptr_max |
| BUF_SIZE | 0 | vmf->cow_page | (-1),64 |
| BUF_SIZE | 0 | vmf->vma | (-1),4,24,64,168-s32max |
| BUF_SIZE | 1 | vma | (-1),4,24,64,168-s32max |
| BUF_SIZE | 1 | vma | (-1),4,24,64,168-s32max |
| CAPPED_DATA | 0 | vmf->vma | 1 |
| CAPPED_DATA | 4 | nr | 1 |
| DATA_SOURCE | 0 | vmf | $0 |
| DATA_SOURCE | 2 | addr | $4 |
| DATA_SOURCE | 4 | nr | $3 |
| NOSPEC | 0 | vmf->address | |
| NOSPEC | 2 | addr | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | vmf->address | 0-u64max[c] |
| USER_DATA | 0 | vmf->pgoff | 0-4503599627370495 |
| USER_DATA | 0 | vmf->pte | 4096-ptr_max[u] |
| USER_DATA | 0 | vmf->real_address | 0-u64max[c] |
| USER_DATA | 2 | addr | 0-u64max[c] |
| USER_DATA | 3 | ptep | 4096-ptr_max[u] |
| NO_OVERFLOW_SIMPLE | 0 | vmf->vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vmf->vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 0 | vmf->vma->vm_start | |
| NO_OVERFLOW_SIMPLE | 1 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 1 | vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 1 | vma->vm_start | |
| UNITS | 2 | addr | unit_byte |
| UNITS | 4 | nr | unit_page |
| LOCK2 | 0 | vmf->ptl | |
| HALF_LOCKED2 | rcu_read |
mm/memory.c wp_page_copy() -> update_mmu_cache_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmf | 2508977417524461568,2900308121553498112 |
| PARAM_VALUE | 0 | vmf->address | 0,4096-u64max |
| PARAM_VALUE | 1 | vma | 4096-ptr_max |
| PARAM_VALUE | 2 | addr | 0,4096-u64max |
| PARAM_VALUE | 3 | ptep | 4096-ptr_max |
| PARAM_VALUE | 4 | nr | 1 |
| BUF_SIZE | 0 | vmf->vma | (-1),1-s32max |
| BUF_SIZE | 1 | vma | (-1),1-s32max |
| BUF_SIZE | 1 | vma | (-1),1-s32max |
| CAPPED_DATA | 0 | vmf->address | 1 |
| CAPPED_DATA | 0 | vmf->vma | 1 |
| CAPPED_DATA | 2 | addr | 1 |
| CAPPED_DATA | 2 | addr | 1 |
| DATA_SOURCE | 0 | vmf | $0 |
| DATA_SOURCE | 3 | ptep | r pte_offset_map_lock |
| NOSPEC | 0 | vmf->address | |
| NOSPEC | 2 | addr | |
| NOSPEC | 2 | addr | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | vmf->address | 0,4096-u64max[c] |
| USER_DATA | 0 | vmf->pgoff | 0-13510801029595132[c] |
| USER_DATA | 0 | vmf->real_address | 0-u64max[c] |
| USER_DATA | 0 | vmf->vma->swap_readahead_info.counter | 0-s64max[c] |
| USER_DATA | 1 | vma->swap_readahead_info.counter | 0-s64max[c] |
| USER_DATA | 2 | addr | 0,4096-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vmf->vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 1 | vma->vm_pgoff | |
| UNITS | 2 | addr | unit_byte |
| LOCK2 | 0 | vmf->ptl | |
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memory.c wp_page_reuse() -> update_mmu_cache_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vmf | 2508977417524461568,2900308121553498112 |
| PARAM_VALUE | 0 | vmf->address | 0,4096-u64max |
| PARAM_VALUE | 1 | vma | 4096-ptr_max |
| PARAM_VALUE | 2 | addr | 0,4096-u64max |
| PARAM_VALUE | 3 | ptep | 4096-ptr_max |
| PARAM_VALUE | 4 | nr | 1 |
| BUF_SIZE | 0 | vmf->vma | (-1),1-s32max |
| BUF_SIZE | 1 | vma | (-1),1-s32max |
| BUF_SIZE | 1 | vma | (-1),1-s32max |
| CAPPED_DATA | 0 | vmf->address | 1 |
| CAPPED_DATA | 0 | vmf->vma | 1 |
| CAPPED_DATA | 2 | addr | 1 |
| CAPPED_DATA | 2 | addr | 1 |
| DATA_SOURCE | 0 | vmf | $0 |
| BIT_INFO | 0 | vmf->flags | 0x1,0x1fff |
| NOSPEC | 0 | vmf->address | |
| NOSPEC | 2 | addr | |
| NOSPEC | 2 | addr | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | vmf->address | 0,4096-u64max[c] |
| USER_DATA | 0 | vmf->pgoff | 0-13510801029595132[c] |
| USER_DATA | 0 | vmf->real_address | 0-u64max[c] |
| USER_DATA | 0 | vmf->vma->swap_readahead_info.counter | 0-s64max[c] |
| USER_DATA | 1 | vma->swap_readahead_info.counter | 0-s64max[c] |
| USER_DATA | 2 | addr | 0,4096-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vmf->vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 1 | vma->vm_pgoff | |
| UNITS | 2 | addr | unit_byte |
| LOCK2 | 0 | vmf->ptl | |
| HALF_LOCKED2 | &mm->mmap_lock |