Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 35 files:

Smatch caller information:

drivers/vfio/pci/vfio_pci_core.c vfio_pci_dev_set_hot_reset() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
LOCK2 &dev_set->lock
HALF_LOCKED2 &vdev->memory_lock
TYPE_LOCK (struct vfio_device_set)->lock

fs/9p/vfs_dentry.c v9fs_dentry_unalias_trylock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rename_lock.lock
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &dentry->d_parent->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_sb->s_vfs_rename_mutex
TYPE_LOCK (struct seqlock)->lock

block/elevator.c elv_iosched_store() -> down_write_trylock()

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

drivers/gpu/drm/xe/xe_validation.c xe_validation_trylock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 global &drm_unplug_srcu

fs/ubifs/gc.c ubifs_garbage_collect() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &c->commit_sem
TYPE_LOCK (struct ubifs_info)->commit_sem

fs/ceph/snap.c ceph_put_snap_realm() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mdsc->snap_empty_lock
HALF_LOCKED2 &mdsc->snap_rwsem
HALF_LOCKED2 &session->s_mutex
TYPE_LOCK (struct ceph_mds_client)->snap_empty_lock

fs/ocfs2/quota_local.c ocfs2_create_local_dquot() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dquot->dq_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dquot)->dq_lock

fs/f2fs/gc.c f2fs_down_write_trylock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sbi->gc_lock.internal_rwsem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &sbi->cp_global_sem.internal_rwsem
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem
HALF_LOCKED2 &sbi->pin_sem.internal_rwsem

drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.c mlx5_devcom_comp_trylock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
HALF_LOCKED2 &pool->lock

fs/btrfs/inode.c inode_trylock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem

drivers/acpi/cppc_acpi.c cppc_set_perf() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 40,4096-ptr_max
PARAM_VALUE 0 sem->wait_lock.owner (-1)
PARAM_VALUE 0 sem->wait_lock.owner_cpu u32max

fs/ocfs2/quota_global.c ocfs2_lock_global_qf() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &oinfo->dqi_gqinode->i_rwsem
HALF_LOCKED2 &dquot->dq_lock
HALF_LOCKED2 &sb->s_umount
TYPE_LOCK (struct inode)->i_rwsem

fs/ocfs2/inode.c ocfs2_clear_inode() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

fs/ext4/inode.c ext4_write_trylock_xattr() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max

mm/hugetlb.c hugetlb_vma_trylock_write() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mapping->i_mmap_rwsem

mm/hugetlb.c hugetlb_vma_trylock_write() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mapping->i_mmap_rwsem

mm/hugetlb.c i_mmap_trylock_write() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 global &mf_mutex
HALF_LOCKED2 global &pcp_batch_high_lock

fs/f2fs/checkpoint.c f2fs_down_write_trylock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sbi->cp_global_sem.internal_rwsem
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem

block/blk-sysfs.c queue_requests_store() -> down_write_trylock()

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/fuse/dax.c inode_trylock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

security/landlock/tsync.c landlock_restrict_sibling_threads() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max

fs/smb/client/file.c cifs_down_write() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
CAPPED_DATA 0 sem 1
DATA_SOURCE 0 sem $0
RX_PATH
TASK_NOT_RUNNING

fs/smb/client/file.c cifs_down_write() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
CAPPED_DATA 0 sem 1
DATA_SOURCE 0 sem $0
RX_PATH
TASK_NOT_RUNNING

fs/ocfs2/alloc.c inode_trylock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &tl_inode->i_rwsem
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

net/netfilter/ipvs/ip_vs_ctl.c svc_resize_work_handler() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
HALF_LOCKED2 &pool->lock

fs/ocfs2/file.c inode_trylock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

fs/ocfs2/file.c ocfs2_inode_lock_for_extent_tree() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/xfs/xfs_inode.c xfs_ilock_nowait() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ailp->ail_lock
HALF_LOCKED2 &bp->b_sema
HALF_LOCKED2 &ip->i_flags_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 rcu_read

fs/xfs/xfs_inode.c xfs_ilock_nowait() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ailp->ail_lock
HALF_LOCKED2 &bp->b_sema
HALF_LOCKED2 &ip->i_flags_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 rcu_read

fs/xfs/xfs_inode.c xfs_ilock_nowait() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ailp->ail_lock
HALF_LOCKED2 &bp->b_sema
HALF_LOCKED2 &ip->i_flags_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 rcu_read

fs/ext2/xattr.c ext2_xattr_delete_inode() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

fs/exfat/file.c inode_trylock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

fs/ntfs3/run.c run_unpack_ex() -> down_write_trylock()

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 &inode->i_rwsem
HALF_LOCKED2 &ni->file.run_lock
HALF_LOCKED2 &ni->ni_lock

fs/locks.c inode_trylock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

fs/xfs/xfs_healthmon.c inode_trylock() -> down_write_trylock()

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_direct_nowait() -> down_write_trylock()

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/f2fs/file.c f2fs_down_write_trylock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
LOCK2 &dst->i_rwsem
LOCK2 &src->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/f2fs/file.c inode_trylock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &src->i_rwsem

fs/ext4/file.c inode_trylock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

fs/ntfs/file.c inode_trylock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/net/wireless/ath/wil6210/pm.c wil_suspend_keep_radio_on() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/wireless/ath/wil6210/pm.c wil_suspend_radio_off() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

fs/zonefs/file.c inode_trylock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

arch/x86/mm/pat/set_memory.c set_memory_enc_stop_conversion() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 1753202132878405632
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

drivers/mtd/ubi/eba.c leb_write_trylock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ubi->fm_eba_sem
LOCK2 &ubi->move_mutex
LOCK2 &ubi->work_sem
HALF_LOCKED2 &ubi->device_mutex
TYPE_LOCK (struct ubi_device)->fm_eba_sem
TYPE_LOCK (struct ubi_device)->move_mutex
TYPE_LOCK (struct ubi_device)->work_sem

drivers/md/bcache/btree.c mca_alloc() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 0 sem->count.counter 0
PARAM_VALUE 0 sem->first_waiter 0
PARAM_VALUE 0 sem->magic 4096-ptr_max
PARAM_VALUE 0 sem->owner.counter 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &c->bucket_lock
HALF_LOCKED2 &b->lock
TYPE_LOCK (struct cache_set)->bucket_lock

drivers/md/bcache/btree.c mca_reap() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &c->bucket_lock
HALF_LOCKED2 &b->lock
TYPE_LOCK (struct cache_set)->bucket_lock

fs/ntfs3/file.c inode_trylock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

fs/f2fs/node.c f2fs_down_write_trylock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sbi->umount_mutex

lib/test_context-analysis.c class_rwsem_write_try_constructor() -> down_write_trylock()

Type Parameter Key Value

lib/test_context-analysis.c test_rwsem_writer() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem->osq.tail.counter 0-s32max
PARAM_VALUE 0 sem->wait_lock.owner (-1)
PARAM_VALUE 0 sem->wait_lock.owner_cpu u32max

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_esw_try_lock() -> down_write_trylock()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING