Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/f2fs/inode.c __recover_inline_status() -> inline_data_addr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_blocks 0,8-18446744073709551608
PARAM_VALUE 1 folio 4096-ptr_max
CAPPED_DATA 0 inode->i_ino 1
CAPPED_DATA 0 inode->i_sb 1
DATA_SOURCE 0 inode $0
DATA_SOURCE 1 folio $1
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]
USER_DATA 1 folio->mapping->writeback_index 0-524287[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/inline.c f2fs_add_inline_entry() -> inline_data_addr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
CAPPED_DATA 0 inode->i_ino 1
DATA_SOURCE 0 inode $0
DATA_SOURCE 1 folio r f2fs_get_inode_folio
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_size
HALF_LOCKED2 &sbi->cp_global_sem.internal_rwsem
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/inline.c f2fs_delete_inline_entry() -> inline_data_addr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
CAPPED_DATA 0 inode->i_sb->s_fs_info->root_ino_num 1
DATA_SOURCE 0 inode $2
DATA_SOURCE 1 folio $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_size
HALF_LOCKED2 &sbi->cp_global_sem.internal_rwsem
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem
HALF_LOCKED2 0 &inode->i_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/inline.c f2fs_do_read_inline_data() -> inline_data_addr()

Type Parameter Key Value
DATA_SOURCE 1 folio $1
RX_PATH
TASK_NOT_RUNNING

fs/f2fs/inline.c f2fs_empty_inline_dir() -> inline_data_addr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
CAPPED_DATA 0 inode->i_ino 1
DATA_SOURCE 0 inode $0
DATA_SOURCE 1 folio r f2fs_get_inode_folio
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
USER_DATA 1 folio->mapping->writeback_index 0-524287[c]
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 0 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/f2fs/inline.c f2fs_find_in_inline_dir() -> inline_data_addr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
CAPPED_DATA 0 inode->i_ino 1
DATA_SOURCE 0 inode $0
DATA_SOURCE 1 folio r f2fs_get_inode_folio
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
USER_DATA 1 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
HALF_LOCKED2 &sbi->cp_global_sem.internal_rwsem
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem
HALF_LOCKED2 0 &inode->i_rwsem

fs/f2fs/inline.c f2fs_inline_data_fiemap() -> inline_data_addr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
CAPPED_DATA 0 inode->i_ino 1
CAPPED_DATA 0 inode->i_sb->s_maxbytes 1
DATA_SOURCE 0 inode $0
DATA_SOURCE 1 folio r f2fs_get_inode_folio
LOCK2 0 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/f2fs/inline.c f2fs_make_empty_inline_dir() -> inline_data_addr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 1 folio 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_mapping->a_ops (-1),152
BUF_SIZE 0 inode->i_op (-1),256
CAPPED_DATA 1 folio 1
DATA_SOURCE 0 inode $0
DATA_SOURCE 1 folio $2
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_ino
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
NO_OVERFLOW_SIMPLE 0 inode->i_size
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/inline.c f2fs_read_inline_dir() -> inline_data_addr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
CAPPED_DATA 0 inode->i_ino 1
DATA_SOURCE 1 folio r f2fs_get_inode_folio
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/f2fs/inline.c f2fs_recover_inline_data() -> inline_data_addr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
CAPPED_DATA 0 inode->i_ino 1
DATA_SOURCE 0 inode $0
DATA_SOURCE 1 folio $1
NO_OVERFLOW_SIMPLE 0 inode->i_ino
LOCK2 &sbi->cp_global_sem.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/inline.c f2fs_recover_inline_data() -> inline_data_addr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
CAPPED_DATA 0 inode->i_ino 1
DATA_SOURCE 0 inode $0
DATA_SOURCE 1 folio r f2fs_get_inode_folio
NO_OVERFLOW_SIMPLE 0 inode->i_ino
LOCK2 &sbi->cp_global_sem.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/inline.c f2fs_truncate_inline_inode() -> inline_data_addr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_ino 1
DATA_SOURCE 0 inode $0
DATA_SOURCE 1 folio $1
NOSPEC 0 inode->i_size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_bytes 0-65023[c]
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-2),0-s64max
USER_DATA 1 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_data.host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_ino
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_size
HALF_LOCKED2 &sbi->cp_global_sem.internal_rwsem
HALF_LOCKED2 0 &inode->i_mapping->invalidate_lock
HALF_LOCKED2 0 &inode->i_rwsem

fs/f2fs/inline.c f2fs_try_convert_inline_dir() -> inline_data_addr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
CAPPED_DATA 0 inode->i_ino 1
DATA_SOURCE 0 inode $0
DATA_SOURCE 1 folio r f2fs_get_inode_folio
LOCK2 &sbi->cp_rwsem.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/inline.c f2fs_write_inline_data() -> inline_data_addr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
CAPPED_DATA 0 inode->i_ino 1
CAPPED_DATA 0 inode->i_sb 1
DATA_SOURCE 0 inode $0
DATA_SOURCE 1 folio r f2fs_get_inode_folio
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_bytes

fs/f2fs/dir.c f2fs_has_enough_room() -> inline_data_addr()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
CAPPED_DATA 0 inode->i_ino 1
DATA_SOURCE 0 inode $0
DATA_SOURCE 1 folio $1
NO_OVERFLOW_SIMPLE 0 inode->i_size
LOCK2 &sbi->cp_rwsem.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem