Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/overlayfs/file.c ovl_whatisit() -> ovl_has_upperdata()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_blocks 0-36028797018963967[c]

fs/overlayfs/util.c ovl_dentry_needs_data_copy_up() -> ovl_has_upperdata()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &dentry->d_sb->s_vfs_rename_mutex

fs/overlayfs/util.c ovl_inode_realdata() -> ovl_has_upperdata()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0

fs/overlayfs/util.c ovl_is_metacopy_dentry() -> ovl_has_upperdata()

Type Parameter Key Value
PARAM_VALUE 0 inode 1-u64max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max

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

Type Parameter Key Value
PARAM_VALUE 0 inode 1-u64max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
HALF_LOCKED2 &inode->i_rwsem

fs/overlayfs/super.c ovl_d_real() -> ovl_has_upperdata()

Type Parameter Key Value
PARAM_VALUE 0 inode 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &iint->mutex