Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/ufs/inode.c ufs_extend_tail() -> ufs_get_direct_data_ptr()

Type Parameter Key Value
PARAM_VALUE 0 uspi 4096-ptr_max
PARAM_VALUE 1 ufsi 4096-ptr_max
DATA_SOURCE 1 ufsi r UFS_I
RX_PATH
TASK_NOT_RUNNING

fs/ufs/inode.c ufs_inode_getfrag() -> ufs_get_direct_data_ptr()

Type Parameter Key Value
PARAM_VALUE 0 uspi 4096-ptr_max
PARAM_VALUE 1 ufsi 4096-ptr_max
DATA_SOURCE 1 ufsi r UFS_I
DATA_SOURCE 2 blk $1
RX_PATH
TASK_NOT_RUNNING

fs/ufs/inode.c ufs_inode_getfrag() -> ufs_get_direct_data_ptr()

Type Parameter Key Value
PARAM_VALUE 0 uspi 4096-ptr_max
PARAM_VALUE 1 ufsi 4096-ptr_max
PARAM_VALUE 2 blk 0-13
DATA_SOURCE 1 ufsi r UFS_I
RX_PATH
TASK_NOT_RUNNING

fs/ufs/inode.c ufs_trunc_direct() -> ufs_get_direct_data_ptr()

Type Parameter Key Value
PARAM_VALUE 0 uspi 4096-ptr_max
PARAM_VALUE 1 ufsi 4096-ptr_max
PARAM_VALUE 2 blk 0-4294967294
CAPPED_DATA 2 blk 1
DATA_SOURCE 1 ufsi r UFS_I
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ufsi->truncate_mutex
TYPE_LOCK (struct ufs_inode_info)->truncate_mutex

fs/ufs/inode.c ufs_trunc_direct() -> ufs_get_direct_data_ptr()

Type Parameter Key Value
PARAM_VALUE 0 uspi 4096-ptr_max
PARAM_VALUE 1 ufsi 4096-ptr_max
DATA_SOURCE 1 ufsi r UFS_I
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 blk 0-s32max[c]
LOCK2 &ufsi->truncate_mutex
TYPE_LOCK (struct ufs_inode_info)->truncate_mutex

fs/ufs/inode.c ufs_trunc_direct() -> ufs_get_direct_data_ptr()

Type Parameter Key Value
PARAM_VALUE 0 uspi 4096-ptr_max
PARAM_VALUE 1 ufsi 4096-ptr_max
DATA_SOURCE 1 ufsi r UFS_I
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 blk 0-s32max[c]
LOCK2 &ufsi->truncate_mutex
TYPE_LOCK (struct ufs_inode_info)->truncate_mutex

fs/ufs/inode.c ufs_trunc_direct() -> ufs_get_direct_data_ptr()

Type Parameter Key Value
PARAM_VALUE 0 uspi 4096-ptr_max
PARAM_VALUE 1 ufsi 4096-ptr_max
DATA_SOURCE 1 ufsi r UFS_I
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 blk 0-s32max[c]
LOCK2 &ufsi->truncate_mutex
TYPE_LOCK (struct ufs_inode_info)->truncate_mutex

fs/ufs/inode.c ufs_truncate_blocks() -> ufs_get_direct_data_ptr()

Type Parameter Key Value
PARAM_VALUE 0 uspi 4096-ptr_max
PARAM_VALUE 1 ufsi 4096-ptr_max
PARAM_VALUE 1 ufsi->truncate_mutex.dep_map->name 0-255
PARAM_VALUE 1 ufsi->truncate_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 1 ufsi->truncate_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 ufsi->truncate_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 ufsi->truncate_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 ufsi->truncate_mutex.wait_lock.owner (-1)
PARAM_VALUE 1 ufsi->truncate_mutex.wait_lock.owner_cpu u32max
CAPPED_DATA 1 &ufsi->truncate_mutex 1
DATA_SOURCE 1 ufsi r UFS_I
RX_PATH
TASK_NOT_RUNNING
LOCK2 1 &ufsi->truncate_mutex
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct ufs_inode_info)->truncate_mutex

fs/ufs/inode.c ufs_truncate_blocks() -> ufs_get_direct_data_ptr()

Type Parameter Key Value
PARAM_VALUE 1 ufsi 4096-ptr_max
PARAM_VALUE 1 ufsi->truncate_mutex.dep_map->name 0-255
PARAM_VALUE 1 ufsi->truncate_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 1 ufsi->truncate_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 ufsi->truncate_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 ufsi->truncate_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 ufsi->truncate_mutex.wait_lock.owner (-1)
PARAM_VALUE 1 ufsi->truncate_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 2 blk 0-14
CAPPED_DATA 1 &ufsi->truncate_mutex 1
DATA_SOURCE 1 ufsi r UFS_I
RX_PATH
TASK_NOT_RUNNING
LOCK2 1 &ufsi->truncate_mutex
TYPE_LOCK (struct ufs_inode_info)->truncate_mutex