Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

fs/ecryptfs/dentry.c ecryptfs_d_revalidate() -> ecryptfs_dentry_to_lower()

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
BUF_SIZE 0 dentry->d_parent s32min,(-1)-s32max
DATA_SOURCE 0 dentry $2
BIT_INFO 0 dentry->d_flags 0x4,0xffffffff
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 0 &dentry->d_lockref.lock

fs/ecryptfs/inode.c __ecryptfs_truncate() -> ecryptfs_dentry_to_lower()

Type Parameter Key Value
BUF_SIZE 0 dentry (-1),1-s32max
BUF_SIZE 0 dentry (-1),1-s32max
DATA_SOURCE 0 dentry $0
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
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 0 &dentry->d_inode->i_rwsem
HALF_LOCKED2 0 &dentry->d_lockref.lock

fs/ecryptfs/inode.c ecryptfs_fileattr_get() -> ecryptfs_dentry_to_lower()

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
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dentry->moved->d_inode->i_size
HALF_LOCKED2 &pool->lock

fs/ecryptfs/inode.c ecryptfs_fileattr_set() -> ecryptfs_dentry_to_lower()

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 $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dentry->moved->d_inode->i_size
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/ecryptfs/inode.c ecryptfs_get_acl() -> ecryptfs_dentry_to_lower()

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 $1
RX_PATH
TASK_NOT_RUNNING

fs/ecryptfs/inode.c ecryptfs_get_link() -> ecryptfs_dentry_to_lower()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
PARAM_VALUE 0 dentry->d_fsdata 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 $0
RX_PATH
TASK_NOT_RUNNING

fs/ecryptfs/inode.c ecryptfs_getxattr() -> ecryptfs_dentry_to_lower()

Type Parameter Key Value
BUF_SIZE 0 dentry (-1)-s32max
BUF_SIZE 0 dentry (-1)-s32max
DATA_SOURCE 0 dentry $0
STR_LEN 0 dentry (-1),12-13,16,19-20,25
STR_LEN 0 dentry (-1),12-13,16,19-20,25
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 dentry->__d_name.hash 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 dentry->d_inode->i_size
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize_bits
NO_OVERFLOW_SIMPLE 0 dentry->moved->d_inode->i_size
USER_PTR 0 dentry->__d_name.name
HALF_LOCKED2 &inode->i_rwsem

fs/ecryptfs/inode.c ecryptfs_link() -> ecryptfs_dentry_to_lower()

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
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dentry->dentry->d_inode->i_size
NO_OVERFLOW_SIMPLE 0 dentry->moved->d_inode->i_size
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/ecryptfs/inode.c ecryptfs_listxattr() -> ecryptfs_dentry_to_lower()

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
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dentry->moved->d_inode->i_size

fs/ecryptfs/inode.c ecryptfs_lookup() -> ecryptfs_dentry_to_lower()

Type Parameter Key Value
BUF_SIZE 0 dentry s32min,(-1)-s32max
BUF_SIZE 0 dentry s32min,(-1)-s32max
STR_LEN 0 dentry (-1),1-24,26-27,31-34,63,99,115,254-255
STR_LEN 0 dentry (-1),1-24,26-27,31-34,63,99,115,254-255
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_sb->s_flags 0-u64max[c]
USER_DATA 0 *dentry->__d_name.name 0-255
UNITS 0 dentry unit_jiffy
USER_PTR 0 dentry->__d_name.name
HALF_LOCKED2 &ecryptfs_dir_inode->i_rwsem

fs/ecryptfs/inode.c ecryptfs_lookup_interpose() -> ecryptfs_dentry_to_lower()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
BUF_SIZE 0 dentry s32min,(-1)-s32max
BUF_SIZE 0 dentry s32min,(-1)-s32max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 dentry->__d_name.hash 0-u32max[c]
USER_DATA 0 *dentry->__d_name.name 0-255
UNITS 0 dentry unit_jiffy
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &ecryptfs_dir_inode->i_rwsem

fs/ecryptfs/inode.c ecryptfs_lower_path() -> ecryptfs_dentry_to_lower()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
DATA_SOURCE 0 dentry $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &iint->mutex
HALF_LOCKED2 &lo->lo_mutex

fs/ecryptfs/inode.c ecryptfs_readlink_lower() -> ecryptfs_dentry_to_lower()

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
RX_PATH
TASK_NOT_RUNNING

fs/ecryptfs/inode.c ecryptfs_removexattr() -> ecryptfs_dentry_to_lower()

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
STR_LEN 0 dentry (-1)-0,12
STR_LEN 0 dentry (-1)-0,12
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->d_fsdata->d_fsdata
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize_bits
NO_OVERFLOW_SIMPLE 0 dentry->moved->d_inode->i_size
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 0 &dentry->d_inode->i_rwsem

fs/ecryptfs/inode.c ecryptfs_rename() -> ecryptfs_dentry_to_lower()

Type Parameter Key Value
CAPPED_DATA 0 dentry->d_inode 1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dentry unit_jiffy
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

fs/ecryptfs/inode.c ecryptfs_rename() -> ecryptfs_dentry_to_lower()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dentry unit_jiffy
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

fs/ecryptfs/inode.c ecryptfs_rename() -> ecryptfs_dentry_to_lower()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
CAPPED_DATA 0 dentry 1
CAPPED_DATA 0 dentry->d_parent->d_inode 1
DATA_SOURCE 0 dentry $2
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/ecryptfs/inode.c ecryptfs_rename() -> ecryptfs_dentry_to_lower()

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/ecryptfs/inode.c ecryptfs_set_acl() -> ecryptfs_dentry_to_lower()

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->d_fsdata->d_fsdata
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize_bits
NO_OVERFLOW_SIMPLE 0 dentry->dentry->d_inode->i_size
NO_OVERFLOW_SIMPLE 0 dentry->moved->d_inode->i_size
HALF_LOCKED2 0 &dentry->d_inode->i_rwsem
HALF_LOCKED2 0 &dentry->d_lockref.lock

fs/ecryptfs/inode.c ecryptfs_setattr() -> ecryptfs_dentry_to_lower()

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
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
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 0 &dentry->d_inode->i_rwsem
HALF_LOCKED2 0 &dentry->d_lockref.lock

fs/ecryptfs/inode.c ecryptfs_setxattr() -> ecryptfs_dentry_to_lower()

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
STR_LEN 0 dentry (-1)-0
STR_LEN 0 dentry (-1)-0
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->d_fsdata->d_fsdata
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize_bits
NO_OVERFLOW_SIMPLE 0 dentry->moved->d_inode->i_size
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 0 &dentry->d_inode->i_rwsem

fs/ecryptfs/inode.c ecryptfs_start_creating_dentry() -> ecryptfs_dentry_to_lower()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
CAPPED_DATA 0 dentry 1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dentry unit_jiffy

fs/ecryptfs/inode.c ecryptfs_start_creating_dentry() -> ecryptfs_dentry_to_lower()

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->d_parent 1
DATA_SOURCE 0 dentry $0
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 0 &dentry->d_lockref.lock

fs/ecryptfs/inode.c ecryptfs_start_removing_dentry() -> ecryptfs_dentry_to_lower()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
CAPPED_DATA 0 dentry 1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 dentry->__d_name.hash 0-u32max[c]
UNITS 0 dentry unit_jiffy
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &dentry->d_sb->s_vfs_rename_mutex
HALF_LOCKED2 &dir->d_inode->i_rwsem

fs/ecryptfs/inode.c ecryptfs_start_removing_dentry() -> ecryptfs_dentry_to_lower()

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
CAPPED_DATA 0 dentry->d_parent 1
DATA_SOURCE 0 dentry $0
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->d_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize_bits
NO_OVERFLOW_SIMPLE 0 dentry->moved->d_inode->i_size
HALF_LOCKED2 &dir->d_inode->i_rwsem
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/ecryptfs/main.c ecryptfs_lower_path() -> ecryptfs_dentry_to_lower()

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
BUF_SIZE 0 dentry->d_parent s32min,(-1)-0,4,9-s32max
DATA_SOURCE 0 dentry $0
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]
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
NO_OVERFLOW_SIMPLE 0 dentry->dentry->d_inode->i_size
NO_OVERFLOW_SIMPLE 0 dentry->moved->d_inode->i_size
USER_PTR 0 dentry->__d_name.name
LOCK2 &inode_info->lower_file_mutex
HALF_LOCKED2 &crypt_stat->cs_mutex
HALF_LOCKED2 0 &dentry->d_inode->i_rwsem
HALF_LOCKED2 0 &dentry->d_lockref.lock
TYPE_LOCK (struct ecryptfs_inode_info)->lower_file_mutex

fs/ecryptfs/crypto.c ecryptfs_read_and_validate_xattr_region() -> ecryptfs_dentry_to_lower()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
PARAM_VALUE 0 dentry->d_fsdata 4096-ptr_max
BUF_SIZE 0 dentry (-1),1-s32max
BUF_SIZE 0 dentry (-1),1-s32max
BUF_SIZE 0 dentry->d_parent (-1)-s32max
DATA_SOURCE 0 dentry $0
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->d_inode->i_rwsem
HALF_LOCKED2 0 &dentry->d_lockref.lock

fs/ecryptfs/crypto.c ecryptfs_write_metadata_to_xattr() -> ecryptfs_dentry_to_lower()

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
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_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 &crypt_stat->cs_mutex
HALF_LOCKED2 0 &dentry->d_lockref.lock

fs/ecryptfs/file.c ecryptfs_lower_path() -> ecryptfs_dentry_to_lower()

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

fs/ecryptfs/super.c ecryptfs_statfs() -> ecryptfs_dentry_to_lower()

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
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &s->s_umount