Defined in 2 files as a function:
Referenced in 5 files:
Smatch caller information:
mm/huge_memory.c __folio_split() -> anon_vma_lock_write()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | anon_vma | 4096-ptr_max |
| PARAM_VALUE | 0 | anon_vma->refcount.counter | 0-s32max |
| DATA_SOURCE | 0 | anon_vma | r folio_get_anon_vma |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
mm/rmap.c __anon_vma_prepare() -> anon_vma_lock_write()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | anon_vma | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/rmap.c anon_vma_clone() -> anon_vma_lock_write()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | anon_vma | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &oldmm->mmap_lock |
mm/rmap.c anon_vma_fork() -> anon_vma_lock_write()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | anon_vma | 4096-ptr_max |
| PARAM_VALUE | 0 | anon_vma->num_active_vmas | 1 |
| PARAM_VALUE | 0 | anon_vma->num_children | 0 |
| PARAM_VALUE | 0 | anon_vma->parent | 4096-ptr_max |
| PARAM_VALUE | 0 | anon_vma->parent->root | 4096-ptr_max |
| PARAM_VALUE | 0 | anon_vma->refcount.counter | 1 |
| PARAM_VALUE | 0 | anon_vma->root | 4096-ptr_max |
| DATA_SOURCE | 0 | anon_vma | r anon_vma_alloc |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &oldmm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/rmap.c anon_vma_free() -> anon_vma_lock_write()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | anon_vma | 4096-ptr_max |
| PARAM_VALUE | 0 | anon_vma->refcount.counter | 0 |
| PARAM_VALUE | 0 | anon_vma->root | 4096-ptr_max |
| PARAM_VALUE | 0 | anon_vma->root->rwsem.count.counter | s64min-(-1),1-s64max |
| DATA_SOURCE | 0 | anon_vma | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
mm/rmap.c unlink_anon_vmas() -> anon_vma_lock_write()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | anon_vma | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/mremap.c take_rmap_locks() -> anon_vma_lock_write()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | anon_vma | 1-u64max |
| NOCHECK_CALL | |||
| LOCK2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &tsk->signal->exec_update_lock | ||
| HALF_LOCKED2 | &vma->vm_file->f_mapping->i_mmap_rwsem | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/vma.c expand_downwards() -> anon_vma_lock_write()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/vma.c vma_prepare() -> anon_vma_lock_write()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | anon_vma | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &tsk->signal->exec_update_lock | ||
| HALF_LOCKED2 | &vp->mapping->i_mmap_rwsem |
mm/khugepaged.c collapse_huge_page() -> anon_vma_lock_write()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |