Defined in 2 files as a member:

Defined in 1 files as a function:

Referenced in 20 files:

Smatch caller information:

fs/dcache.c ___d_drop() -> d_hash()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &dentry->d_sb->s_vfs_rename_mutex
HALF_LOCKED2 &target->d_lockref.lock
HALF_LOCKED2 global &rename_lock.lock

fs/dcache.c __d_lookup() -> d_hash()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 hashlen 0-u32max[c]

fs/dcache.c __d_lookup_rcu() -> d_hash()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

fs/dcache.c __d_lookup_rcu_op_compare() -> d_hash()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &parent->d_inode->i_rwsem
HALF_LOCKED2 rcu_read

fs/dcache.c __d_rehash() -> d_hash()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &entry->d_lockref.lock
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &inode->i_lock
HALF_LOCKED2 &target->d_lockref.lock
HALF_LOCKED2 global &rename_lock.lock
TYPE_LOCK (struct lockref)->lock