Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 21 files:
- drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c, line 2043
- drivers/platform/surface/surface_aggregator_cdev.c
- drivers/platform/surface/surface_dtx.c
- fs/afs/dir.c, line 309
- fs/ceph/io.c
- fs/nfs/io.c
- fs/proc/array.c, line 487
- fs/proc/base.c
- fs/proc/namespaces.c
- fs/readdir.c, line 103
- include/linux/fs.h, line 1045
- include/linux/mmap_lock.h, line 609
- include/linux/rwsem.h, line 326
- kernel/fork.c, line 1416
- kernel/futex/syscalls.c, line 66
- kernel/kcmp.c, line 87
- kernel/locking/rwsem.c, line 1608
- kernel/pid.c, line 853
- mm/migrate.c, line 2572
- net/core/net_namespace.c, line 579
- net/netfilter/ipvs/ip_vs_ctl.c, line 3798
Smatch caller information:
fs/coredump.c mmap_read_lock_killable() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
kernel/fork.c mm_access() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
net/core/net_namespace.c copy_net_ns() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 8367575239496048640 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &tsk->signal->exec_update_lock |
arch/x86/kernel/shstk.c mmap_read_lock_killable() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|
fs/pidfs.c pidfd_ioctl() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
mm/oom_kill.c mmap_read_lock_killable() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|
mm/mmap.c mmap_read_lock_killable() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|
mm/gup_test.c mmap_read_lock_killable() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| HALF_LOCKED2 | &data->longterm_mutex |
fs/proc/base.c call_proc_get_link() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/proc/base.c do_io_accounting() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &m->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
fs/proc/base.c lock_trace() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &m->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
fs/proc/base.c mmap_read_lock_killable() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &m->lock | ||
| HALF_LOCKED2 | &task->signal->exec_update_lock |
fs/proc/base.c proc_pid_wchan() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &m->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
fs/proc/namespaces.c proc_ns_get_link() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/proc/namespaces.c proc_ns_readlink() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
drivers/platform/surface/surface_aggregator_cdev.c ssam_cdev_device_ioctl() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
drivers/platform/surface/surface_aggregator_cdev.c ssam_cdev_read() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
drivers/platform/surface/surface_aggregator_cdev.c ssam_cdev_read() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| PARAM_VALUE | 0 | sem->wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | sem->wait_lock.owner_cpu | u32max |
fs/namei.c inode_lock_shared_killable() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dentry->d_lockref.lock | ||
| HALF_LOCKED2 | &inode->i_rwsem |
fs/proc/task_mmu.c mmap_read_lock_killable() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &m->lock |
fs/ceph/io.c ceph_start_io_direct() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pool->lock |
fs/ceph/io.c ceph_start_io_read() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/proc/array.c do_task_stat() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &m->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
kernel/pid.c __pidfd_fget() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
mm/memory.c mmap_read_lock_killable() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/readdir.c iterate_dir() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dir_fp->readdir_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock |
net/netfilter/ipvs/ip_vs_ctl.c do_ip_vs_get_ctl() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| NS_CAPABLE | 0 | 12 | |
| RX_PATH |
mm/gup.c mmap_read_lock_killable() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
kernel/futex/syscalls.c futex_get_robust_list_common() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
fs/nfs/io.c nfs_start_io_direct() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pool->lock |
fs/nfs/io.c nfs_start_io_read() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/platform/surface/surface_dtx.c surface_dtx_ioctl() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
drivers/platform/surface/surface_dtx.c surface_dtx_read() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
drivers/platform/surface/surface_dtx.c surface_dtx_read() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| PARAM_VALUE | 0 | sem->wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | sem->wait_lock.owner_cpu | u32max |
kernel/bpf/task_iter.c mmap_read_lock_killable() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &seq->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
mm/mmap_lock.c mmap_read_lock_killable() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c amdgpu_debugfs_ib_preempt() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| LOCK2 | &attr->mutex | ||
| TYPE_LOCK | (struct simple_attr)->mutex |
mm/migrate.c find_mm_struct() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
mm/hmm.c mmap_read_lock_killable() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &client->hwctx_srcu | ||
| HALF_LOCKED2 | &hwctx->priv->job_sem | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &vm->lock |
kernel/kcmp.c kcmp_lock() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| DATA_SOURCE | 0 | sem | $0 [m] |
fs/afs/dir.c afs_read_dir() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dvnode->validate_lock |
fs/exec.c mmap_read_lock_killable() -> down_read_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | &tsk->signal->exec_update_lock | ||
| TYPE_LOCK | (struct signal_struct)->exec_update_lock |