Defined in 2 files as a member:
Defined in 1 files as a function:
Referenced in 17 files:
- drivers/s390/block/dasd_fba.c
- drivers/scsi/qlogicpti.c
- fs/afs/dir.c
- fs/autofs/expire.c
- fs/autofs/root.c, line 157
- fs/ceph/inode.c
- fs/ceph/mds_client.c, line 2976
- fs/coda/dir.c, line 468
- fs/configfs/dir.c, line 421
- fs/ecryptfs/inode.c, line 341
- fs/nfs/dir.c
- fs/nfs/unlink.c, line 454
- fs/nilfs2/super.c, line 1001
- fs/orangefs/namei.c, line 383
- fs/smb/client/inode.c, line 2035
- lib/maple_tree.c
- net/netfilter/ipvs/ip_vs_sh.c
Smatch caller information:
fs/configfs/dir.c configfs_remove_dir() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| DATA_SOURCE | 0 | dentry | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->d_inode->i_mode | 0-u16max |
| USER_DATA | 0 | dentry->d_inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| HALF_LOCKED2 | 0 | &dentry->d_inode->i_rwsem | |
| HALF_LOCKED2 | 0 | &dentry->d_lockref.lock | |
| HALF_LOCKED2 | 0 | &dentry->d_sb->s_vfs_rename_mutex |
fs/autofs/expire.c autofs_tree_busy() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| DATA_SOURCE | 0 | dentry | r get_next_positive_dentry |
| UNITS | 0 | dentry | unit_jiffy |
| HALF_LOCKED2 | &found->d_lockref.lock | ||
| HALF_LOCKED2 | &top->d_lockref.lock |
fs/autofs/expire.c should_expire() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| DATA_SOURCE | 0 | dentry | $0 |
| HALF_LOCKED2 | &found->d_lockref.lock | ||
| HALF_LOCKED2 | 0 | &dentry->d_lockref.lock |
fs/autofs/expire.c should_expire() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| DATA_SOURCE | 0 | dentry | $0 |
| HALF_LOCKED2 | &found->d_lockref.lock | ||
| HALF_LOCKED2 | 0 | &dentry->d_lockref.lock |
fs/ecryptfs/inode.c ecryptfs_lookup_interpose() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| BUF_SIZE | 0 | dentry | (-1)-s32max |
| BUF_SIZE | 0 | dentry | (-1)-s32max |
| DATA_SOURCE | 0 | dentry | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize | |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize_bits | |
| HALF_LOCKED2 | &dentry->d_lockref.lock | ||
| HALF_LOCKED2 | &ecryptfs_dir_inode->i_rwsem |
fs/orangefs/namei.c orangefs_rename() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| CAPPED_DATA | 0 | dentry | 1 |
| DATA_SOURCE | 0 | dentry | $4 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->d_inode->i_mode | 0-u16max |
| HALF_LOCKED2 | &source->i_rwsem | ||
| HALF_LOCKED2 | &target->i_rwsem |
fs/ceph/mds_client.c ceph_mdsc_build_path() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| CAPPED_DATA | 0 | dentry | 1 |
| DATA_SOURCE | 0 | dentry | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | dentry | unit_jiffy |
| HALF_LOCKED2 | &cur->d_lockref.lock | ||
| HALF_LOCKED2 | &mdsc->mutex | ||
| HALF_LOCKED2 | &mdsc->mutex | ||
| HALF_LOCKED2 | &s->lock | ||
| HALF_LOCKED2 | &session->s_mutex |
fs/nilfs2/super.c nilfs_tree_is_busy() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| DATA_SOURCE | 0 | dentry | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | dentry | unit_jiffy |
| HALF_LOCKED2 | &nilfs->ns_snapshot_mount_mutex |
fs/coda/dir.c coda_dentry_revalidate() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| DATA_SOURCE | 0 | dentry | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->d_parent->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | dentry->d_sb->s_flags | 0-u64max[c] |
| USER_DATA | 0 | *dentry->__d_name.name | 0-255 |
| USER_DATA | 0 | *dentry->d_parent->__d_name.name | 0-255 |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize | |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize_bits | |
| USER_PTR | 0 | dentry->__d_name.name | |
| HALF_LOCKED2 | 0 | &dentry->d_lockref.lock |
fs/ceph/inode.c splice_dentry() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| LOCK2 | &mdsc->snap_rwsem | ||
| LOCK2 | &req->r_fill_mutex | ||
| LOCK2 | &session->s_mutex | ||
| HALF_LOCKED2 | &dn->d_lockref.lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &realdn->d_lockref.lock | ||
| TYPE_LOCK | (struct ceph_mds_client)->snap_rwsem | ||
| TYPE_LOCK | (struct ceph_mds_request)->r_fill_mutex | ||
| TYPE_LOCK | (struct ceph_mds_session)->s_mutex |
fs/ceph/inode.c splice_dentry() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| DATA_SOURCE | 0 | dentry | r d_splice_alias |
| LOCK2 | &mdsc->snap_rwsem | ||
| LOCK2 | &req->r_fill_mutex | ||
| LOCK2 | &session->s_mutex | ||
| HALF_LOCKED2 | &dn->d_lockref.lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | 0 | &dentry->d_lockref.lock | |
| TYPE_LOCK | (struct ceph_mds_client)->snap_rwsem | ||
| TYPE_LOCK | (struct ceph_mds_request)->r_fill_mutex | ||
| TYPE_LOCK | (struct ceph_mds_session)->s_mutex |
fs/nfs/dir.c nfs_do_lookup_revalidate() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| BUF_SIZE | 0 | dentry | (-1)-s32max |
| BUF_SIZE | 0 | dentry | (-1)-s32max |
| BUF_SIZE | 0 | dentry->d_parent | (-1)-s32max |
| DATA_SOURCE | 0 | dentry | $2 |
| BIT_INFO | 0 | dentry->d_flags | 0x4,0xffffffffffffffff |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | dentry->d_parent->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | dentry->d_sb->s_flags | 0-u64max[c] |
| USER_DATA | 0 | *dentry->__d_name.name | 0-255 |
| USER_DATA | 0 | *dentry->d_parent->__d_name.name | 0-255 |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize | |
| NO_OVERFLOW_SIMPLE | 0 | dentry->d_sb->s_blocksize_bits | |
| USER_PTR | 0 | dentry->__d_name.name | |
| HALF_LOCKED2 | &dir->i_rwsem | ||
| HALF_LOCKED2 | 0 | &dentry->d_lockref.lock |
fs/nfs/dir.c nfs_rename() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| CAPPED_DATA | 0 | dentry | 1 |
| DATA_SOURCE | 0 | dentry | $4 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->d_inode->i_mode | 0-u16max |
| HALF_LOCKED2 | &source->i_rwsem | ||
| HALF_LOCKED2 | &target->i_rwsem |
fs/nfs/dir.c nfs_rename() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| CAPPED_DATA | 0 | dentry | 1 |
| DATA_SOURCE | 0 | dentry | $4 |
| BIT_INFO | 0 | dentry->d_flags | 0x0,0xffffefff |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->d_inode->i_mode | 0-u16max |
| LOCK2 | 0 | &dentry->d_lockref.lock | |
| HALF_LOCKED2 | &source->i_rwsem | ||
| HALF_LOCKED2 | &target->i_rwsem | ||
| TYPE_LOCK | (struct lockref)->lock |
fs/nfs/dir.c nfs_unlink() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| CAPPED_DATA | 0 | dentry->d_parent->d_inode | 1 |
| DATA_SOURCE | 0 | dentry | $1 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->d_inode->i_mode | 0-u16max |
| USER_DATA | 0 | dentry->d_inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| NO_OVERFLOW_SIMPLE | 0 | dentry->dentry->d_inode->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | dentry->moved->d_inode->i_size | |
| LOCK2 | &target->i_rwsem | ||
| LOCK2 | 0 | &dentry->d_lockref.lock | |
| HALF_LOCKED2 | &dir->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &dir->i_rwsem | ||
| HALF_LOCKED2 | 0 | &dentry->d_sb->s_vfs_rename_mutex | |
| TYPE_LOCK | (struct inode)->i_rwsem | ||
| TYPE_LOCK | (struct lockref)->lock |
fs/autofs/root.c autofs_lookup_active() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &sbi->lookup_lock | ||
| LOCK2 | 0 | &dentry->d_lockref.lock | |
| HALF_LOCKED2 | &dentry->d_lockref.lock | ||
| HALF_LOCKED2 | &dir->i_rwsem | ||
| TYPE_LOCK | (struct autofs_sb_info)->lookup_lock | ||
| TYPE_LOCK | (struct lockref)->lock |
fs/smb/client/inode.c __cifs_unlink() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| CAPPED_DATA | 0 | dentry | 1 |
| DATA_SOURCE | 0 | dentry | $1 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->d_inode->i_mode | 0-u16max |
| USER_DATA | 0 | dentry->d_inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| NO_OVERFLOW_SIMPLE | 0 | dentry->moved->d_inode->i_size | |
| LOCK2 | 0 | &dentry->d_lockref.lock | |
| HALF_LOCKED2 | &target->i_rwsem | ||
| HALF_LOCKED2 | 0 | &dentry->d_sb->s_vfs_rename_mutex | |
| TYPE_LOCK | (struct lockref)->lock |
fs/afs/dir.c afs_rename() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| CAPPED_DATA | 0 | dentry | 1 |
| DATA_SOURCE | 0 | dentry | $4 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->d_inode->i_mode | 0-u16max |
| HALF_LOCKED2 | &source->i_rwsem | ||
| HALF_LOCKED2 | &target->i_rwsem |
fs/afs/dir.c afs_unlink() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| CAPPED_DATA | 0 | dentry->d_parent->d_inode | 1 |
| DATA_SOURCE | 0 | dentry | $1 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->d_inode->i_mode | 0-u16max |
| USER_DATA | 0 | dentry->d_inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| NO_OVERFLOW_SIMPLE | 0 | dentry->dentry->d_inode->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | dentry->moved->d_inode->i_size | |
| LOCK2 | &target->i_rwsem | ||
| LOCK2 | 0 | &dentry->d_lockref.lock | |
| HALF_LOCKED2 | &dir->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &dir->i_rwsem | ||
| HALF_LOCKED2 | 0 | &dentry->d_sb->s_vfs_rename_mutex | |
| TYPE_LOCK | (struct inode)->i_rwsem | ||
| TYPE_LOCK | (struct lockref)->lock |
fs/nfs/unlink.c nfs_sillyrename() -> d_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dentry | 4096-ptr_max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| BUF_SIZE | 0 | dentry | (-1),1-s32max |
| CAPPED_DATA | 0 | dentry | 1 |
| DATA_SOURCE | 0 | dentry | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dentry->d_inode->i_mode | 0-u16max |
| USER_DATA | 0 | dentry->d_inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| NO_OVERFLOW_SIMPLE | 0 | dentry->moved->d_inode->i_size | |
| HALF_LOCKED2 | &target->i_rwsem | ||
| HALF_LOCKED2 | 0 | &dentry->d_sb->s_vfs_rename_mutex |