Defined in 1 files as a function:
Referenced in 18 files:
- arch/arm64/kernel/mte.c, line 455
- arch/nios2/kernel/sys_nios2.c, line 38
- arch/um/kernel/trap.c, line 36
- arch/x86/kernel/shstk.c, line 346
- fs/coredump.c, line 1349
- fs/exec.c, line 871
- fs/proc/base.c
- fs/proc/task_mmu.c
- fs/proc/task_nommu.c, line 214
- kernel/bpf/task_iter.c
- mm/gup.c
- mm/gup_test.c
- mm/hmm.c, line 806
- mm/memory.c
- mm/mmap.c, line 1127
- mm/mmap_lock.c
- mm/nommu.c
- mm/oom_kill.c, line 1237
Smatch caller information:
fs/coredump.c dump_user_range() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
arch/x86/kernel/shstk.c shstk_pop_sigframe() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| UNITS | 0 | mm | unit_byte |
mm/oom_kill.c __do_sys_process_mrelease() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| UNITS | 0 | mm | unit_byte |
mm/oom_kill.c __do_sys_process_mrelease() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| UNITS | 0 | mm | unit_byte |
mm/mmap.c __do_sys_remap_file_pages() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| UNITS | 0 | mm | unit_byte |
mm/mmap.c __do_sys_remap_file_pages() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| UNITS | 0 | mm | unit_byte |
mm/gup_test.c __gup_test_ioctl() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| UNITS | 0 | mm | unit_byte |
mm/gup_test.c pin_longterm_test_start() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| UNITS | 0 | mm | unit_byte |
| LOCK2 | &data->longterm_mutex | ||
| TYPE_LOCK | (struct gup_test_data)->longterm_mutex |
fs/proc/base.c map_files_d_revalidate() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| CAPPED_DATA | 0 | mm | 1 |
| DATA_SOURCE | 0 | mm | r mm_access |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/proc/base.c map_files_get_link() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| DATA_SOURCE | 0 | mm | r get_task_mm |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &task->signal->exec_update_lock | ||
| TYPE_LOCK | (struct signal_struct)->exec_update_lock |
fs/proc/base.c proc_map_files_lookup() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| CAPPED_DATA | 0 | mm | 1 |
| DATA_SOURCE | 0 | mm | r mm_access |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dir->i_rwsem |
fs/proc/base.c proc_map_files_readdir() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| CAPPED_DATA | 0 | mm | 1 |
| DATA_SOURCE | 0 | mm | r mm_access |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dir_fp->readdir_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/proc/base.c proc_pid_ksm_stat() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| DATA_SOURCE | 0 | mm | r get_task_mm |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &m->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
fs/proc/task_mmu.c do_pagemap_scan() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| BUF_SIZE | 0 | mm | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | mm | s32min-(-2),1-s32max |
| DATA_SOURCE | 0 | mm | $0 |
fs/proc/task_mmu.c lock_ctx_mm() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &m->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
fs/proc/task_mmu.c pagemap_read() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mm_users.counter | 0-s32max |
| BUF_SIZE | 0 | mm | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | mm | s32min-(-2),1-s32max |
fs/proc/task_mmu.c pagemap_read() -> mmap_read_lock_killable()
| 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 |
| BUF_SIZE | 0 | mm | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | mm | s32min-(-2),1-s32max |
mm/memory.c __access_remote_vm() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| BUF_SIZE | 0 | mm | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | mm | s32min-(-1),1-s32max |
| CAPPED_DATA | 0 | mm | 1 |
| DATA_SOURCE | 0 | mm | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/memory.c __copy_remote_vm_str() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| DATA_SOURCE | 0 | mm | $0 |
mm/gup.c __get_user_pages_locked() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm->binfmt->module | 0 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| DATA_SOURCE | 0 | mm | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
| HALF_LOCKED2 | 0 | &mm->mmap_lock |
mm/gup.c __get_user_pages_locked() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm->binfmt->module | 0 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| BUF_SIZE | 0 | mm | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | mm | s32min-(-1),1-s32max |
| DATA_SOURCE | 0 | mm | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
| HALF_LOCKED2 | 0 | &mm->mmap_lock |
kernel/bpf/task_iter.c task_vma_seq_get_next() -> mmap_read_lock_killable()
| 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 | 1-u64max |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &seq->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
kernel/bpf/task_iter.c task_vma_seq_get_next() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| DATA_SOURCE | 0 | mm | r get_task_mm |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &seq->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
mm/mmap_lock.c get_mmap_lock_carefully() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| CAPPED_DATA | 0 | mm | 1 |
| DATA_SOURCE | 0 | mm | $0 |
| RX_PATH | |||
| UNITS | 0 | mm | unit_byte |
mm/mmap_lock.c lock_next_vma_under_mmap_lock() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| DATA_SOURCE | 0 | mm | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &m->lock |
mm/hmm.c hmm_range_fault_unlocked_timeout() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
| HALF_LOCKED2 | &client->hwctx_srcu | ||
| HALF_LOCKED2 | &hwctx->priv->job_sem | ||
| HALF_LOCKED2 | &vm->lock | ||
| HALF_LOCKED2 | 0 | &mm->mmap_lock |
fs/exec.c exec_mmap() -> mmap_read_lock_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 1-u64max |
| UNITS | 0 | mm | unit_byte |
| LOCK2 | &tsk->signal->exec_update_lock | ||
| TYPE_LOCK | (struct signal_struct)->exec_update_lock |