Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 22 files:
- arch/x86/kernel/ldt.c, line 619
- drivers/dax/bus.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c, line 1782
- drivers/gpu/drm/xe/xe_exec.c, line 217
- drivers/gpu/drm/xe/xe_hw_engine_group.c
- drivers/gpu/drm/xe/xe_svm.c, line 1757
- drivers/gpu/drm/xe/xe_validation.c, line 58
- drivers/gpu/drm/xe/xe_vm.c
- drivers/gpu/drm/xe/xe_vm_madvise.c, line 632
- drivers/virt/coco/guest/tsm-mr.c
- fs/afs/dir.c
- fs/afs/symlink.c, line 189
- fs/afs/validation.c, line 406
- fs/ceph/io.c
- fs/configfs/dir.c, line 1534
- fs/exec.c, line 861
- fs/netfs/locking.c
- fs/nfs/io.c
- include/linux/fs.h, line 1030
- include/linux/mmap_lock.h, line 562
- include/linux/rwsem.h
- kernel/locking/rwsem.c, line 1653
Smatch caller information:
fs/netfs/locking.c netfs_start_io_direct() -> down_write_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 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pool->lock |
fs/netfs/locking.c netfs_start_io_read() -> down_write_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 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/netfs/locking.c netfs_start_io_write() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pool->lock |
fs/coredump.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/madvise.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/dax/bus.c align_store() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4655689054894678016 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
drivers/dax/bus.c align_store() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 9147203094323507200 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| LOCK2 | global &dax_region_rwsem | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
drivers/dax/bus.c create_store() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4655689054894678016 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
drivers/dax/bus.c free_dev_dax_id() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 9147203094323507200 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | global &dax_region_rwsem |
drivers/dax/bus.c get_dax_range() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4655689054894678016 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
drivers/dax/bus.c mapping_store() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4655689054894678016 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
drivers/dax/bus.c mapping_store() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 9147203094323507200 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| LOCK2 | global &dax_region_rwsem | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
drivers/dax/bus.c memmap_on_memory_store() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 9147203094323507200 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
drivers/dax/bus.c size_store() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4655689054894678016 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
drivers/dax/bus.c size_store() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 9147203094323507200 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| LOCK2 | global &dax_region_rwsem | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
arch/x86/entry/vdso/vma.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH |
drivers/gpu/drm/xe/xe_validation.c xe_validation_lock() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &vm->lock |
drivers/gpu/drm/xe/xe_vm_madvise.c xe_vm_madvise_ioctl() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
mm/mmap.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/mseal.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|
fs/configfs/dir.c configfs_rmdir() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &dentry->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &dentry->d_lockref.lock | ||
| HALF_LOCKED2 | &dentry->d_sb->s_vfs_rename_mutex | ||
| HALF_LOCKED2 | &dir->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &dir->i_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/aio.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | &ctx->ring_lock | ||
| TYPE_LOCK | (struct kioctx)->ring_lock |
fs/proc/task_mmu.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|
fs/binfmt_elf.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|
drivers/cxl/core/region.c class_rwsem_write_kill_constructor() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 1757414098808479744 |
| DATA_SOURCE | 0 | sem | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &of->mutex |
fs/ceph/io.c ceph_start_io_direct() -> down_write_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 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pool->lock |
fs/ceph/io.c ceph_start_io_read() -> down_write_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 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/ceph/io.c ceph_start_io_write() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pool->lock |
mm/util.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH |
mm/mprotect.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|
mm/vma_exec.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|
mm/mremap.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|
drivers/virt/coco/guest/tsm-mr.c tm_digest_read() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem->wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | sem->wait_lock.owner_cpu | u32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
drivers/virt/coco/guest/tsm-mr.c tm_digest_write() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
fs/read_write.c inode_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
arch/x86/kernel/process_64.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH |
mm/vma.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/afs/validation.c afs_validate() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &target->i_rwsem |
drivers/gpu/drm/xe/xe_vm.c xe_vm_bind_ioctl() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
drivers/gpu/drm/xe/xe_vm.c xe_vm_query_vmas_attrs_ioctl() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
arch/x86/kernel/ldt.c write_ldt() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|
drivers/vfio/vfio_iommu_type1.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &iommu->lock |
drivers/pci/tsm.c class_rwsem_write_kill_constructor() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 7401425708588138496 |
| DATA_SOURCE | 0 | sem | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
drivers/gpu/drm/xe/xe_hw_engine_group.c xe_hw_engine_group_add_exec_queue() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
drivers/gpu/drm/xe/xe_hw_engine_group.c xe_hw_engine_group_get_mode() -> down_write_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/nfs/io.c nfs_start_io_direct() -> down_write_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 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pool->lock |
fs/nfs/io.c nfs_start_io_read() -> down_write_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 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/nfs/io.c nfs_start_io_write() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pool->lock |
kernel/sys.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|
fs/afs/symlink.c afs_get_link() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
kernel/events/uprobes.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/mmap_lock.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/gpu/drm/xe/xe_svm.c xe_svm_alloc_vram() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4441162509552427008 |
| PARAM_VALUE | 0 | sem->dep_map.name | 406827359741669376 |
| PARAM_VALUE | 0 | sem->dep_map.wait_type_inner | 4 |
| PARAM_VALUE | 0 | sem->magic | 4441162509552427008 |
| PARAM_VALUE | 0 | sem->osq.tail.counter | 0 |
| PARAM_VALUE | 0 | sem->wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | sem->wait_lock.owner_cpu | u32max |
| TERMINATED | 0 | sem->dep_map.name | 1 |
| HALF_LOCKED2 | &range->lock | ||
| HALF_LOCKED2 | _T->lock |
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c amdgpu_debugfs_test_ib_show() -> down_write_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/compat_binfmt_elf.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|
mm/mlock.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|
drivers/gpu/drm/i915/gem/i915_gem_mman.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|
fs/open.c inode_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
ipc/shm.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|
drivers/gpu/drm/xe/xe_exec.c xe_exec_ioctl() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| HALF_LOCKED2 | &group->mode_sem | ||
| HALF_LOCKED2 | &vm->svm.gpusvm.notifier_lock |
fs/afs/dir.c afs_read_dir() -> down_write_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 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/afs/dir.c afs_rmdir() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &dentry->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &dentry->d_lockref.lock | ||
| HALF_LOCKED2 | &dentry->d_sb->s_vfs_rename_mutex | ||
| HALF_LOCKED2 | &dir->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &dir->i_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/smb/client/cifsfs.c inode_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pool->lock |
fs/exec.c exec_mmap() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
fs/exec.c mmap_write_lock_killable() -> down_write_killable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | &tsk->signal->exec_update_lock |