Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/overlayfs/copy_up.c ovl_get_origin_fh() -> ovl_encode_real_fh()

Type Parameter Key Value
PARAM_VALUE 0 ofs->workbasedir->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ofs->workbasedir->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 ofs->workdir->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ofs->workdir->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 is_upper 0
BUF_SIZE 0 ofs (-1),1-s32max
BUF_SIZE 0 ofs (-1),1-s32max
BUF_SIZE 0 ofs->config.lowerdirs (-1),8
DATA_SOURCE 0 ofs $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 ofs->workbasedir_trap->__i_nlink 1-u32max
USER_DATA 0 ofs->workbasedir_trap->i_blocks 0-u64max
USER_DATA 0 ofs->workbasedir_trap->i_bytes 0-511[c]
USER_DATA 0 ofs->workbasedir_trap->i_ino 0-u64max
USER_DATA 0 ofs->workbasedir_trap->i_rdev 0-u32max[c]
USER_DATA 0 ofs->workdir_trap->__i_nlink 1-u32max
USER_DATA 0 ofs->workdir_trap->i_blocks 0-u64max
USER_DATA 0 ofs->workdir_trap->i_bytes 0-511[c]
USER_DATA 0 ofs->workdir_trap->i_ino 0-u64max
USER_DATA 0 ofs->workdir_trap->i_rdev 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 ofs->workbasedir_trap->i_bytes
NO_OVERFLOW_SIMPLE 0 ofs->workbasedir_trap->i_size
NO_OVERFLOW_SIMPLE 0 ofs->workdir->moved->d_inode->i_size
UNITS 0 ofs unit_byte

fs/overlayfs/copy_up.c ovl_set_upper_fh() -> ovl_encode_real_fh()

Type Parameter Key Value
PARAM_VALUE 0 ofs 4096-ptr_max
PARAM_VALUE 0 ofs->layers 4096-ptr_max
PARAM_VALUE 2 is_upper 1
BUF_SIZE 0 ofs 1-s32max
BUF_SIZE 0 ofs 1-s32max
CAPPED_DATA 0 ofs->casefold 1
DATA_SOURCE 0 ofs $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 ofs unit_byte
HALF_LOCKED2 &dentry->d_lockref.lock

fs/overlayfs/export.c ovl_dentry_to_fid() -> ovl_encode_real_fh()

Type Parameter Key Value
BUF_SIZE 0 ofs 1-s32max
BUF_SIZE 0 ofs 1-s32max
DATA_SOURCE 0 ofs $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 ofs unit_byte
HALF_LOCKED2 &group->mark_mutex
HALF_LOCKED2 &inode->i_sb->s_umount
HALF_LOCKED2 &m->lock

fs/overlayfs/namei.c ovl_get_index_name() -> ovl_encode_real_fh()

Type Parameter Key Value
PARAM_VALUE 0 ofs 4096-ptr_max
PARAM_VALUE 2 is_upper 0
BUF_SIZE 0 ofs 1-s32max
BUF_SIZE 0 ofs 1-s32max
DATA_SOURCE 0 ofs $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 ofs unit_byte

fs/overlayfs/namei.c ovl_verify_origin_xattr() -> ovl_encode_real_fh()

Type Parameter Key Value
PARAM_VALUE 0 ofs->workbasedir->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ofs->workbasedir->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 ofs->workbasedir->d_inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 ofs->workdir->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ofs->workdir->d_inode->i_rwsem.first_waiter->type 0-1
BUF_SIZE 0 ofs (-1),1-s32max
BUF_SIZE 0 ofs (-1),1-s32max
BUF_SIZE 0 ofs->config.lowerdirs (-1),8
BUF_SIZE 0 ofs->workdir (-1),1-s32max
DATA_SOURCE 0 ofs $0
DATA_SOURCE 2 is_upper $4
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 ofs->workbasedir_trap->__i_nlink 1-u32max
USER_DATA 0 ofs->workbasedir_trap->i_blocks 0-u64max
USER_DATA 0 ofs->workbasedir_trap->i_bytes 0-511[c]
USER_DATA 0 ofs->workbasedir_trap->i_ino 0-u64max
USER_DATA 0 ofs->workbasedir_trap->i_rdev 0-u32max[c]
USER_DATA 0 ofs->workdir_trap->__i_nlink 1-u32max
USER_DATA 0 ofs->workdir_trap->i_blocks 0-u64max
USER_DATA 0 ofs->workdir_trap->i_bytes 0-511[c]
USER_DATA 0 ofs->workdir_trap->i_ino 0-u64max
USER_DATA 0 ofs->workdir_trap->i_rdev 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 ofs->workbasedir_trap->i_size
NO_OVERFLOW_SIMPLE 0 ofs->workdir->moved->d_inode->i_size
NO_OVERFLOW_SIMPLE 0 ofs->workdir_trap->i_size
UNITS 0 ofs unit_byte
HALF_LOCKED2 0 &ofs->workdir->d_lockref.lock