Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

fs/fuse/dir.c create_new_entry() -> fuse_dentry_set_epoch()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
PARAM_VALUE 1 epoch 0-s32max,18446744071562067968-u64max
BUF_SIZE 0 dentry (-1),1-s32max
BUF_SIZE 0 dentry (-1),1-s32max
DATA_SOURCE 0 dentry r d_splice_alias
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &entry->d_lockref.lock

fs/fuse/dir.c create_new_entry() -> fuse_dentry_set_epoch()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
PARAM_VALUE 1 epoch 0-s32max,18446744071562067968-u64max
BUF_SIZE 0 dentry (-1),1-s32max
BUF_SIZE 0 dentry (-1),1-s32max
DATA_SOURCE 0 dentry $4
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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_inode->i_blkbits
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/fuse/dir.c fuse_create_open() -> fuse_dentry_set_epoch()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
PARAM_VALUE 1 epoch 0-s32max,18446744071562067968-u64max
DATA_SOURCE 0 dentry $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 dentry->d_inode->i_size

fs/fuse/dir.c fuse_dentry_init() -> fuse_dentry_set_epoch()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
PARAM_VALUE 0 dentry->d_fsdata 4096-ptr_max
PARAM_VALUE 1 epoch 0
BUF_SIZE 0 dentry->__d_name.name 0-s32max
BUF_SIZE 0 dentry->d_fsdata 48
DATA_SOURCE 0 dentry $0
TERMINATED 0 dentry->__d_name.name 1
TERMINATED 0 dentry->d_parent->__d_name.name 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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/fuse/dir.c fuse_lookup() -> fuse_dentry_set_epoch()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
PARAM_VALUE 1 epoch 0-s32max,18446744071562067968-u64max
BUF_SIZE 0 dentry (-1),1-s32max
BUF_SIZE 0 dentry (-1),1-s32max
STR_LEN 0 dentry->d_parent (-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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_parent->d_inode->i_mode 0-u16max
USER_DATA 0 dentry->d_parent->d_inode->i_size (-9223372036854775807)-(-4),0-s64max
USER_DATA 0 dentry->d_parent->d_sb->s_flags 0-u64max[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
USER_PTR 0 dentry->d_parent->__d_name.name
HALF_LOCKED2 &dir->i_rwsem
HALF_LOCKED2 0 &dentry->d_lockref.lock

fs/fuse/readdir.c fuse_direntplus_link() -> fuse_dentry_set_epoch()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
PARAM_VALUE 1 epoch 0-s32max,18446744071562067968-u64max
BUF_SIZE 0 dentry (-1),1-s32max
BUF_SIZE 0 dentry (-1),1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize_bits
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 0 &dentry->d_lockref.lock
TYPE_LOCK (struct inode)->i_rwsem