Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/dcache.c __d_alloc() -> dname_external()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
PARAM_VALUE 0 dentry->d_shortname.string 4096-ptr_max
BUF_SIZE 0 dentry->__d_name.name 0-u32max
DATA_SOURCE 0 dentry r kmem_cache_alloc_lru_noprof
STR_LEN 0 dentry->d_sb (-1),1-24,26-27,29,31-34
TERMINATED 0 dentry->__d_name.name 1
TERMINATED 0 dentry->d_parent->__d_name.name 1
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
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
USER_PTR 0 dentry->d_parent->__d_name.name

fs/dcache.c copy_name() -> dname_external()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
BUF_SIZE 0 dentry (-1)-s32max
BUF_SIZE 0 dentry (-1)-s32max
CAPPED_DATA 0 dentry 1
DATA_SOURCE 0 dentry $0
STR_LEN 0 dentry (-1),2,5,9,11
STR_LEN 0 dentry (-1),2,5,9,11
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 dentry->__d_name.hash 0-u32max[c]
USER_DATA 0 dentry->d_inode->i_mode 0-u16max
USER_DATA 0 dentry->d_inode->i_size (-9223372036854775807)-(-4),0-s64max
USER_DATA 0 dentry->d_parent->__d_name.hash 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 dentry->d_fsdata->dl_inode->i_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 dentry->moved->d_inode->i_size
UNITS 0 dentry unit_jiffy
USER_PTR 0 dentry->__d_name.name
LOCK2 &target->d_lockref.lock
LOCK2 global &rename_lock.lock
LOCK2 0 &dentry->d_lockref.lock
HALF_LOCKED2 &old_parent->d_lockref.lock
HALF_LOCKED2 &target->d_parent->d_lockref.lock
HALF_LOCKED2 &target->d_sb->s_vfs_rename_mutex
HALF_LOCKED2 0 &dentry->d_parent->d_inode->i_rwsem
HALF_LOCKED2 0 &dentry->d_sb->s_fs_info->rename_sem
HALF_LOCKED2 0 &dentry->d_sb->s_vfs_rename_mutex
TYPE_LOCK (struct lockref)->lock
TYPE_LOCK (struct seqlock)->lock

fs/dcache.c copy_name() -> dname_external()

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
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 dentry->__d_name.hash 0-u32max[c]
USER_DATA 0 dentry->d_inode->i_mode 0-u16max
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_inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize_bits
UNITS 0 dentry unit_jiffy
USER_PTR 0 dentry->__d_name.name
LOCK2 &dentry->d_lockref.lock
LOCK2 global &rename_lock.lock
LOCK2 0 &dentry->d_lockref.lock
HALF_LOCKED2 &dentry->d_parent->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_sb->s_fs_info->rename_sem
HALF_LOCKED2 &dentry->d_sb->s_vfs_rename_mutex
HALF_LOCKED2 &old_parent->d_lockref.lock
HALF_LOCKED2 0 &dentry->d_parent->d_lockref.lock
HALF_LOCKED2 0 &dentry->d_sb->s_vfs_rename_mutex
TYPE_LOCK (struct lockref)->lock
TYPE_LOCK (struct seqlock)->lock

fs/dcache.c d_mark_tmpfile() -> dname_external()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

fs/dcache.c d_mark_tmpfile_name() -> dname_external()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

fs/dcache.c dentry_free() -> dname_external()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
DATA_SOURCE 0 dentry $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 dentry->__d_name.hash 0-u32max[c]
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->d_fsdata->d_fsdata
NO_OVERFLOW_SIMPLE 0 dentry->moved->d_inode->i_size
UNITS 0 dentry unit_jiffy
HALF_LOCKED2 0 &dentry->d_inode->i_rwsem
HALF_LOCKED2 0 &dentry->d_sb->s_vfs_rename_mutex

fs/dcache.c swap_names() -> dname_external()

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
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 dentry->d_inode->i_mode 0-u16max
NO_OVERFLOW_SIMPLE 0 dentry->d_inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize_bits
UNITS 0 dentry unit_jiffy
LOCK2 &dentry->d_lockref.lock
LOCK2 global &rename_lock.lock
LOCK2 0 &dentry->d_lockref.lock
HALF_LOCKED2 &new_dvnode->validate_lock
HALF_LOCKED2 &old_parent->d_lockref.lock
HALF_LOCKED2 &orig_dvnode->validate_lock
HALF_LOCKED2 global &selinux_state.policy_mutex
HALF_LOCKED2 0 &dentry->d_parent->d_lockref.lock
TYPE_LOCK (struct lockref)->lock
TYPE_LOCK (struct seqlock)->lock

fs/dcache.c swap_names() -> dname_external()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
BUF_SIZE 0 dentry (-1)-s32max
BUF_SIZE 0 dentry (-1)-s32max
CAPPED_DATA 0 dentry 1
DATA_SOURCE 0 dentry $0
STR_LEN 0 dentry (-1)
STR_LEN 0 dentry (-1)
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 dentry->__d_name.hash 0-u32max[c]
USER_DATA 0 dentry->d_inode->i_mode 0-u16max
USER_DATA 0 dentry->d_parent->__d_name.hash 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 dentry->d_fsdata->dl_inode->i_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 dentry->moved->d_inode->i_size
UNITS 0 dentry unit_jiffy
USER_PTR 0 dentry->__d_name.name
LOCK2 &target->d_lockref.lock
LOCK2 global &rename_lock.lock
LOCK2 0 &dentry->d_lockref.lock
HALF_LOCKED2 &new_dvnode->validate_lock
HALF_LOCKED2 &old_parent->d_lockref.lock
HALF_LOCKED2 &orig_dvnode->validate_lock
HALF_LOCKED2 &target->d_parent->d_lockref.lock
HALF_LOCKED2 global &selinux_state.policy_mutex
TYPE_LOCK (struct lockref)->lock
TYPE_LOCK (struct seqlock)->lock

fs/dcache.c swap_names() -> dname_external()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
BUF_SIZE 0 dentry (-1)-s32max
BUF_SIZE 0 dentry (-1)-s32max
CAPPED_DATA 0 dentry 1
DATA_SOURCE 0 dentry $0
STR_LEN 0 dentry (-1)
STR_LEN 0 dentry (-1)
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 dentry->__d_name.hash 0-u32max[c]
USER_DATA 0 dentry->d_inode->i_mode 0-u16max
USER_DATA 0 dentry->d_parent->__d_name.hash 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 dentry->d_fsdata->dl_inode->i_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 dentry->moved->d_inode->i_size
UNITS 0 dentry unit_jiffy
USER_PTR 0 dentry->__d_name.name
LOCK2 &target->d_lockref.lock
LOCK2 global &rename_lock.lock
LOCK2 0 &dentry->d_lockref.lock
HALF_LOCKED2 &new_dvnode->validate_lock
HALF_LOCKED2 &old_parent->d_lockref.lock
HALF_LOCKED2 &orig_dvnode->validate_lock
HALF_LOCKED2 &target->d_parent->d_lockref.lock
HALF_LOCKED2 global &selinux_state.policy_mutex
TYPE_LOCK (struct lockref)->lock
TYPE_LOCK (struct seqlock)->lock