Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/configfs/dir.c configfs_detach_prep() -> configfs_detach_prep()

Type Parameter Key Value
PARAM_VALUE 0 parent_sd 4096-ptr_max
PARAM_VALUE 0 parent_sd->s_element 1-u64max
PARAM_VALUE 0 parent_sd->s_type s32min-(-1),128-s32max
CAPPED_DATA 0 &parent_sd->s_sibling 1
DATA_SOURCE 1 wait $1
BIT_INFO 0 parent_sd->s_type 0x80,0x7ffffdf3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &configfs_dirent_lock
HALF_LOCKED2 global &configfs_symlink_mutex

fs/configfs/dir.c configfs_rmdir() -> configfs_detach_prep()

Type Parameter Key Value
PARAM_VALUE 0 parent_sd 4096-ptr_max
PARAM_VALUE 0 parent_sd->s_dependent_count 0
PARAM_VALUE 1 wait 9063189658914058240
BUF_SIZE 0 parent_sd 1-s32max
BUF_SIZE 0 parent_sd 1-s32max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dentry->d_inode->i_rwsem
LOCK2 global &configfs_dirent_lock
LOCK2 global &configfs_symlink_mutex
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &dentry->d_sb->s_vfs_rename_mutex
HALF_LOCKED2 &dir->d_inode->i_rwsem
HALF_LOCKED2 &dir->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/configfs/dir.c configfs_unregister_group() -> configfs_detach_prep()

Type Parameter Key Value
PARAM_VALUE 0 parent_sd 4096-ptr_max
PARAM_VALUE 0 parent_sd->s_frag 4096-ptr_max
PARAM_VALUE 0 parent_sd->s_frag->frag_dead 1
PARAM_VALUE 0 parent_sd->s_frag->frag_sem.dep_map->name 0-255
PARAM_VALUE 0 parent_sd->s_frag->frag_sem.first_waiter->handoff_set 1
PARAM_VALUE 0 parent_sd->s_frag->frag_sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 parent_sd->s_frag->frag_sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 parent_sd->s_frag->frag_sem.first_waiter->type 0-1
PARAM_VALUE 0 parent_sd->s_frag->frag_sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 parent_sd->s_frag->frag_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 parent_sd->s_frag->frag_sem.wait_lock.owner (-1)
PARAM_VALUE 0 parent_sd->s_frag->frag_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 1 wait 0
BUF_SIZE 0 parent_sd 1-s32max
BUF_SIZE 0 parent_sd 1-s32max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &configfs_dirent_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 _T->lock

fs/configfs/dir.c configfs_unregister_subsystem() -> configfs_detach_prep()

Type Parameter Key Value
PARAM_VALUE 0 parent_sd 4096-ptr_max
PARAM_VALUE 0 parent_sd->s_frag 4096-ptr_max
PARAM_VALUE 0 parent_sd->s_frag->frag_dead 1
PARAM_VALUE 0 parent_sd->s_frag->frag_sem.dep_map->name 0-255
PARAM_VALUE 0 parent_sd->s_frag->frag_sem.first_waiter->handoff_set 1
PARAM_VALUE 0 parent_sd->s_frag->frag_sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 parent_sd->s_frag->frag_sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 parent_sd->s_frag->frag_sem.first_waiter->type 0-1
PARAM_VALUE 0 parent_sd->s_frag->frag_sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 parent_sd->s_frag->frag_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 parent_sd->s_frag->frag_sem.wait_lock.owner (-1)
PARAM_VALUE 0 parent_sd->s_frag->frag_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 1 wait 0
BUF_SIZE 0 parent_sd 1-s32max
BUF_SIZE 0 parent_sd 1-s32max
PREEMPT_ADD <- disables preempt
LOCK2 global &configfs_dirent_lock
LOCK2 global &configfs_symlink_mutex