Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/shmem.c __shmem_get_inode() -> shmem_get_offset_ctx()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode->i_fop 272
BUF_SIZE 0 inode->i_op 256
BUF_SIZE 0 inode->i_sb (-1),2880
CAPPED_DATA 0 inode->i_sb->s_time_max 1
DATA_SOURCE 0 inode r new_inode
STR_LEN 0 inode->i_sb (-1),8
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
HALF_LOCKED2 &sb->s_umount

mm/shmem.c shmem_destroy_inode() -> shmem_get_offset_ctx()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode->i_sb (-1),80,2752,2816,2880
CAPPED_DATA 0 inode->i_sb 1
DATA_SOURCE 0 inode $0
STR_LEN 0 inode->i_sb (-1),7-8
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_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_data.host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits

mm/shmem.c shmem_link() -> shmem_get_offset_ctx()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_sb 1
CAPPED_DATA 0 inode->i_sb->s_user_ns->gid_map.nr_extents 1
CAPPED_DATA 0 inode->i_sb->s_user_ns->uid_map.nr_extents 1
DATA_SOURCE 0 inode $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

mm/shmem.c shmem_mknod() -> shmem_get_offset_ctx()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
HALF_LOCKED2 0 &inode->i_rwsem

mm/shmem.c shmem_rename2() -> shmem_get_offset_ctx()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $3
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

mm/shmem.c shmem_rename2() -> shmem_get_offset_ctx()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $3
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

mm/shmem.c shmem_symlink() -> shmem_get_offset_ctx()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_sb->s_user_ns->gid_map.nr_extents 1
CAPPED_DATA 0 inode->i_sb->s_user_ns->uid_map.nr_extents 1
DATA_SOURCE 0 inode $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max

mm/shmem.c shmem_symlink() -> shmem_get_offset_ctx()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_sb->s_user_ns->gid_map.nr_extents 1
CAPPED_DATA 0 inode->i_sb->s_user_ns->uid_map.nr_extents 1
DATA_SOURCE 0 inode $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max

mm/shmem.c shmem_unlink() -> shmem_get_offset_ctx()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &target->i_rwsem
HALF_LOCKED2 0 &inode->i_rwsem

fs/libfs.c offset_dir_lookup() -> (struct inode_operations)->get_offset_ctx()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_op 4096-ptr_max
CONTAINER 0 -200-32+0 $(-1)
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/libfs.c simple_offset_rename() -> (struct inode_operations)->get_offset_ctx()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_flctx->flc_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_op 4096-ptr_max
PARAM_VALUE 0 inode->i_op->rename 4096-ptr_max
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $0
CONTAINER 0 -200-32+0 $(-1)
TASK_NOT_RUNNING
USER_DATA 0 inode->i_size (-9223372036854775787)-16
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

fs/libfs.c simple_offset_rename() -> (struct inode_operations)->get_offset_ctx()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_op 4096-ptr_max
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $2
CONTAINER 0 -200-32+0 $(-1)
TASK_NOT_RUNNING
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

fs/libfs.c simple_offset_rename_exchange() -> (struct inode_operations)->get_offset_ctx()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_flctx->flc_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_op 4096-ptr_max
PARAM_VALUE 0 inode->i_op->rename 4096-ptr_max
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $0
CONTAINER 0 -200-32+0 $(-1)
TASK_NOT_RUNNING
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

fs/libfs.c simple_offset_rename_exchange() -> (struct inode_operations)->get_offset_ctx()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_op 4096-ptr_max
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $2
CONTAINER 0 -200-32+0 $(-1)
TASK_NOT_RUNNING
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem