Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 35 files:
- arch/powerpc/perf/vpa-dtl.c, line 392
- arch/powerpc/platforms/pseries/lpar.c, line 467
- arch/x86/mm/pat/set_memory.c, line 2504
- block/blk-sysfs.c, line 88
- block/elevator.c, line 821
- drivers/acpi/cppc_acpi.c, line 2161
- drivers/gpu/drm/xe/xe_validation.c, line 82
- drivers/md/bcache/btree.c
- drivers/mtd/ubi/eba.c, line 386
- drivers/net/ethernet/mellanox/mlx5/core/eswitch.c, line 3013
- drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.c, line 460
- drivers/net/wireless/ath/wil6210/pm.c
- drivers/vfio/pci/vfio_pci_core.c, line 2576
- fs/9p/vfs_dentry.c, line 204
- fs/ceph/snap.c, line 236
- fs/ext2/xattr.c, line 825
- fs/ext4/xattr.h, line 159
- fs/f2fs/f2fs.h, line 2477
- fs/nfs/io.c, line 183
- fs/ntfs3/run.c, line 1226
- fs/ocfs2/file.c, line 2225
- fs/ocfs2/inode.c, line 1301
- fs/ocfs2/quota_global.c, line 314
- fs/ocfs2/quota_local.c, line 1227
- fs/smb/client/file.c, line 662
- fs/ubifs/debug.h, line 151
- fs/xfs/xfs_inode.c
- include/linux/fs.h
- include/linux/rwsem.h, line 271
- kernel/locking/rwsem.c, line 1668
- lib/test_context-analysis.c, line 330
- mm/hugetlb.c
- mm/internal.h, line 303
- net/netfilter/ipvs/ip_vs_ctl.c, line 688
- security/landlock/tsync.c, line 497
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 |