Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 22 files:

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