Defined in 1 files as a prototype:

Defined in 2 files as a macro:

Defined in 1 files as a function:

Referenced in 18 files:

Smatch caller information:

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c nested_down_read_ref_node() -> down_read_nested()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 1 subclass 0-1
DATA_SOURCE 1 subclass $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &counter->lock
HALF_LOCKED2 &ct_priv->control_lock
HALF_LOCKED2 &dev->flow_db->lock
HALF_LOCKED2 &esw->fdb_table.offloads.indir->lock
HALF_LOCKED2 &esw->offloads.reps_lock
HALF_LOCKED2 &esw->offloads.termtbl_mutex
HALF_LOCKED2 &esw->state_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &priv->int_ports_lock
HALF_LOCKED2 &priv->macsec->lock
HALF_LOCKED2 &stats->lock
HALF_LOCKED2 global &rtnl_mutex

drivers/pci/hotplug/pciehp_core.c pciehp_check_presence() -> down_read_nested()

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

drivers/nvdimm/security.c nvdimm_lookup_user_key() -> down_read_nested()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 1 subclass 0-1
DATA_SOURCE 1 subclass $2
HARD_MAX 1 subclass 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->mutex
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/pci/hotplug/pciehp_hpc.c pciehp_ignore_link_change() -> down_read_nested()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 _T->lock
HALF_LOCKED2 irq

drivers/pci/hotplug/pciehp_hpc.c pciehp_ist() -> down_read_nested()

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

fs/smb/client/file.c cifs_relock_file() -> down_read_nested()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 1 subclass 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pserver->reconnect_mutex

fs/btrfs/locking.c btrfs_tree_read_lock_nested() -> down_read_nested()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 1 subclass 0
DATA_SOURCE 1 subclass $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/jfs/inode.c jfs_get_block() -> down_read_nested()

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

fs/xfs/xfs_inode.c xfs_ilock() -> down_read_nested()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 1 subclass 0-15
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ls->ls_mutex
HALF_LOCKED2 &mp->m_growlock
HALF_LOCKED2 &pool->lock

fs/xfs/xfs_inode.c xfs_ilock() -> down_read_nested()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 1 subclass 0-15
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ls->ls_mutex
HALF_LOCKED2 &mp->m_growlock
HALF_LOCKED2 &pool->lock

fs/xfs/xfs_inode.c xfs_ilock() -> down_read_nested()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 1 subclass 0-255
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ls->ls_mutex
HALF_LOCKED2 &mp->m_growlock
HALF_LOCKED2 &pool->lock

fs/ntfs3/bitmap.c ntfs_trim_fs() -> down_read_nested()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 1 subclass 0
CAPABLE 0 21
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 1 subclass 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &ni->file.run_lock
HALF_LOCKED2 &ni->ni_lock

fs/btrfs/extent-tree.c btrfs_lock_cluster() -> down_read_nested()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 1 subclass 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &space_info->groups_sem
HALF_LOCKED2 &fs_info->remap_mutex
HALF_LOCKED2 &root->objectid_mutex
TYPE_LOCK (struct btrfs_space_info)->groups_sem

sound/core/seq/seq_clientmgr.c __deliver_to_subscribers() -> down_read_nested()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 1 subclass s32min-7
DATA_SOURCE 1 subclass $4
HARD_MAX 1 subclass 7
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &client->ioctl_mutex

fs/ntfs3/fsntfs.c ntfs_check_free_space() -> down_read_nested()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 1 subclass 0
NOCHECK_CALL

fs/ntfs3/fsntfs.c ntfs_check_free_space() -> down_read_nested()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 1 subclass 1
NOCHECK_CALL

fs/jfs/jfs_imap.c diAlloc() -> down_read_nested()

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

fs/jfs/jfs_imap.c diAllocExt() -> down_read_nested()

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

fs/jfs/jfs_imap.c diAllocIno() -> down_read_nested()

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

fs/jfs/jfs_imap.c diFree() -> down_read_nested()

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

fs/jfs/jfs_imap.c diNewIAG() -> down_read_nested()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 1 subclass 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &imap->im_freelock
TYPE_LOCK (struct inomap)->im_freelock

fs/jfs/jfs_imap.c diRead() -> down_read_nested()

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

fs/jfs/jfs_imap.c diUpdatePMap() -> down_read_nested()

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

fs/f2fs/super.c f2fs_down_read_nested() -> down_read_nested()

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

drivers/pci/hotplug/pciehp_pci.c pciehp_configure_device() -> down_read_nested()

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
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &pci_rescan_remove_lock
HALF_LOCKED2 _T->lock

drivers/pci/hotplug/pciehp_pci.c pciehp_unconfigure_device() -> down_read_nested()

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
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &pci_rescan_remove_lock
HALF_LOCKED2 _T->lock

fs/jfs/jfs_dmap.c dbAlloc() -> down_read_nested()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 1 subclass 2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &imap->im_freelock

fs/jfs/jfs_dmap.c dbAllocBottomUp() -> down_read_nested()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 1 subclass 2
NOCHECK_CALL

fs/jfs/jfs_dmap.c dbExtend() -> down_read_nested()

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

fs/jfs/jfs_dmap.c dbFree() -> down_read_nested()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 1 subclass 2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &imap->im_freelock
HALF_LOCKED2 &sb->s_umount