Defined in 1 files as a function:
Referenced in 7 files:
- kernel/events/uprobes.c, line 1303
- mm/hmm.c, line 810
- mm/huge_memory.c
- mm/memory.c
- mm/migrate_device.c
- mm/rmap.c, line 961
- mm/swapfile.c, line 2681
Smatch caller information:
mm/huge_memory.c __do_huge_pmd_anonymous_page() -> check_stable_address_space()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock |
mm/huge_memory.c do_huge_pmd_anonymous_page() -> check_stable_address_space()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock |
mm/huge_memory.c do_huge_zero_wp_pmd() -> check_stable_address_space()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock |
mm/swapfile.c unuse_mm() -> check_stable_address_space()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| DATA_SOURCE | 0 | mm | $0 |
| CAPABLE | 0 | 21 | |
| LOCK2 | 0 | &mm->mmap_lock | |
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/rmap.c folio_referenced_one() -> check_stable_address_space()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
| HALF_LOCKED2 | &anon_vma->root->rwsem | ||
| HALF_LOCKED2 | &folio->private->lock |
mm/migrate_device.c migrate_vma_insert_huge_pmd_page() -> check_stable_address_space()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
| HALF_LOCKED2 | &drm->dmem->mutex |
mm/migrate_device.c migrate_vma_insert_page() -> check_stable_address_space()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
| LOCK2 | ptl | ||
| HALF_LOCKED2 | &drm->dmem->mutex |
mm/memory.c do_anonymous_page() -> check_stable_address_space()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
| LOCK2 | vmf->ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memory.c do_anonymous_page() -> check_stable_address_space()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
| LOCK2 | vmf->ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memory.c finish_fault() -> check_stable_address_space()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
kernel/events/uprobes.c register_for_each_vma() -> check_stable_address_space()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
| LOCK2 | &uprobe->register_rwsem | ||
| LOCK2 | 0 | &mm->mmap_lock | |
| HALF_LOCKED2 | global &event_mutex | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock | ||
| TYPE_LOCK | (struct uprobe)->register_rwsem |
mm/hmm.c hmm_range_fault_unlocked_timeout() -> check_stable_address_space()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
| LOCK2 | 0 | &mm->mmap_lock | |
| HALF_LOCKED2 | &client->hwctx_srcu | ||
| HALF_LOCKED2 | &hwctx->priv->job_sem | ||
| HALF_LOCKED2 | &vm->lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |