Defined in 1 files as a prototype:

Defined in 1 files as a function:

Defined in 1 files as a enum:

Referenced in 6 files:

Smatch caller information:

fs/overlayfs/file.c ovl_fsync() -> ovl_path_type()

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

fs/overlayfs/util.c ovl_path_real() -> ovl_path_type()

Type Parameter Key Value
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_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_name.name 0-255
NO_OVERFLOW_SIMPLE 0 dentry->d_fsdata->d_fsdata
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
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_lockref.lock
HALF_LOCKED2 0 &dentry->d_sb->s_vfs_rename_mutex

fs/overlayfs/util.c ovl_path_realdata() -> ovl_path_type()

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

fs/overlayfs/dir.c ovl_type_merge() -> ovl_path_type()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
CAPPED_DATA 0 dentry 1
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_name.name 0-255
UNITS 0 dentry unit_jiffy

fs/overlayfs/dir.c ovl_type_merge_or_lower() -> ovl_path_type()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
DATA_SOURCE 0 dentry $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

fs/overlayfs/dir.c ovl_type_origin() -> ovl_path_type()

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 $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_name.name
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
HALF_LOCKED2 0 &dentry->d_sb->s_vfs_rename_mutex

fs/overlayfs/readdir.c ovl_cache_update() -> ovl_path_type()

Type Parameter Key Value
PARAM_VALUE 0 dentry 0,4096-ptr_max
PARAM_VALUE 0 dentry->d_inode 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/overlayfs/readdir.c ovl_dir_real_file() -> ovl_path_type()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

fs/overlayfs/readdir.c ovl_iterate_real() -> ovl_path_type()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dentry unit_jiffy
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &dir_fp->readdir_lock
TYPE_LOCK (struct inode)->i_rwsem

fs/overlayfs/readdir.c ovl_need_adjust_d_ino() -> ovl_path_type()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dentry unit_jiffy
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &dir_fp->readdir_lock
TYPE_LOCK (struct inode)->i_rwsem