Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/f2fs/inode.c do_read_inode() -> f2fs_has_extra_attr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_blocks 0,8-18446744073709551608
BUF_SIZE 0 inode->i_sb (-1),2880
CAPPED_DATA 0 inode->i_ino 1
CAPPED_DATA 0 inode->i_sb 1
DATA_SOURCE 0 inode $0
STR_LEN 0 inode->i_sb (-1),8
BIT_INFO 0 inode->i_blocks 0x0,0xfffffffffffffff8
NOSPEC 0 inode->i_ino
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->__i_nlink 1-u32max
USER_DATA 0 inode->i_ino 1-4294967294[c]
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 &sbi->gc_lock.internal_rwsem

fs/f2fs/inode.c do_read_inode() -> f2fs_has_extra_attr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode->i_sb (-1),2880
CAPPED_DATA 0 inode->i_ino 1
CAPPED_DATA 0 inode->i_sb 1
DATA_SOURCE 0 inode $0
STR_LEN 0 inode->i_sb (-1),8
NOSPEC 0 inode->i_ino
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->__i_nlink 1-u32max
USER_DATA 0 inode->i_ino 1-4294967294[c]
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 &sbi->gc_lock.internal_rwsem

fs/f2fs/inode.c do_read_inode() -> f2fs_has_extra_attr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode->i_sb (-1),2880
CAPPED_DATA 0 inode->i_ino 1
CAPPED_DATA 0 inode->i_sb 1
DATA_SOURCE 0 inode $0
STR_LEN 0 inode->i_sb (-1),8
NOSPEC 0 inode->i_ino
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->__i_nlink 1-u32max
USER_DATA 0 inode->i_ino 1-4294967294[c]
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 &sbi->gc_lock.internal_rwsem

fs/f2fs/inode.c do_read_inode() -> f2fs_has_extra_attr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode->i_sb (-1),2880
CAPPED_DATA 0 inode->i_ino 1
CAPPED_DATA 0 inode->i_sb 1
DATA_SOURCE 0 inode $0
STR_LEN 0 inode->i_sb (-1),8
NOSPEC 0 inode->i_ino
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->__i_nlink 1-u32max
USER_DATA 0 inode->i_ino 1-4294967294[c]
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 &sbi->gc_lock.internal_rwsem

fs/f2fs/inode.c f2fs_update_inode() -> f2fs_has_extra_attr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode (-1),1-s32max
BUF_SIZE 0 inode (-1),1-s32max
BUF_SIZE 0 inode->i_fop (-1),272
BUF_SIZE 0 inode->i_link (-1),1-255
BUF_SIZE 0 inode->i_mapping->a_ops (-1),152
BUF_SIZE 0 inode->i_op (-1),256
BUF_SIZE 0 inode->i_sb (-1),80,2816
DATA_SOURCE 0 inode $0
STR_LEN 0 inode (-1)-1,23-24
STR_LEN 0 inode (-1)-1,23-24
STR_LEN 0 inode->i_sb (-1),8
NOSPEC 0 inode->i_bytes
NOSPEC 0 inode->i_ino
NOSPEC 0 inode->i_mode
NOSPEC 0 inode->i_size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->__i_nlink 1-u32max
USER_DATA 0 inode->i_blocks 0-18014398515341359,18428729675200069632-u64max
USER_DATA 0 inode->i_bytes 0-65023[c]
USER_DATA 0 inode->i_ino 0-4294967294[c]
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_rdev 0-u32max[c]
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
USER_DATA 0 inode->i_size (-9223372036854775807)-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_data.host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_ino
NO_OVERFLOW_SIMPLE 0 inode->i_linklen
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_size
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 &sbi->cp_global_sem.internal_rwsem
HALF_LOCKED2 0 &inode->i_rwsem

fs/f2fs/inode.c sanity_check_inode() -> f2fs_has_extra_attr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_blocks 0,8-18446744073709551608
CAPPED_DATA 0 inode->i_ino 1
CAPPED_DATA 0 inode->i_sb 1
DATA_SOURCE 0 inode $0
BIT_INFO 0 inode->i_blocks 0x0,0xfffffffffffffff8
NOSPEC 0 inode->i_ino
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->__i_nlink 1-u32max
USER_DATA 0 inode->i_ino 0-4294967294[c]
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
HALF_LOCKED2 &sbi->gc_lock.internal_rwsem

fs/f2fs/namei.c f2fs_new_inode() -> f2fs_has_extra_attr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_ino 1
CAPPED_DATA 0 inode->i_sb 1
CAPPED_DATA 0 inode->i_sb->s_time_max 1
DATA_SOURCE 0 inode r new_inode
PARAM_COMPARE 0 inode->i_sb->s_time_max >= $0->i_sb->s_time_min
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits

fs/f2fs/file.c f2fs_getattr() -> f2fs_has_extra_attr()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &iint->mutex
HALF_LOCKED2 &lo->lo_mutex

fs/f2fs/file.c f2fs_ioc_setproject() -> f2fs_has_extra_attr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_sb->s_time_max 1
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem