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 fuse_do_setattr() -> fuse_get_cache_mask()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
NOSPEC 0 inode->i_mode
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
LOCK2 &fi->lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &mapping->invalidate_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct fuse_inode)->lock

fs/fuse/dir.c fuse_update_get_attr() -> fuse_get_cache_mask()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
DATA_SOURCE 0 inode $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 0 &inode->i_rwsem

fs/fuse/inode.c fuse_change_attributes_i() -> fuse_get_cache_mask()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
BUF_SIZE 0 inode (-1)-s32max
BUF_SIZE 0 inode (-1)-s32max
BUF_SIZE 0 inode->i_sb (-1),2816,2880
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $0
STR_LEN 0 inode->i_sb (-1),8
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->__i_nlink 1-u32max
USER_DATA 0 inode->i_blocks 0-18014398509481983,18428729675200069632-u64max
USER_DATA 0 inode->i_bytes 0-511[c]
USER_DATA 0 inode->i_ino 0-u64max
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
LOCK2 &fi->lock
HALF_LOCKED2 0 &inode->i_rwsem
TYPE_LOCK (struct fuse_inode)->lock