Defined in 1 files as a function:

Referenced in 7 files:

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