Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

fs/ntfs/compress.c ntfs_write_cb() -> ntfs_runlists_merge()

Type Parameter Key Value
PARAM_VALUE 0 d_runlist 4096-ptr_max
PARAM_VALUE 0 d_runlist->lock.wait_lock.owner (-1)
PARAM_VALUE 0 d_runlist->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 1 srl 4096-ptr_max
PARAM_VALUE 2 s_rl_count 0
PARAM_VALUE 3 new_rl_count 1595729448752799744
DATA_SOURCE 1 srl r ntfs_cluster_alloc
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ni->runlist.lock
LOCK2 &vi->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem
TYPE_LOCK (struct runlist)->lock

fs/ntfs/runlist.c ntfs_mapping_pairs_decompress() -> ntfs_runlists_merge()

Type Parameter Key Value
PARAM_VALUE 0 d_runlist 4096-ptr_max
PARAM_VALUE 0 d_runlist->rl 1-u64max
PARAM_VALUE 1 srl 4096-ptr_max
PARAM_VALUE 2 s_rl_count 0-s32max,18446744071562067968-u64max
PARAM_VALUE 3 new_rl_count 1492306802697621504,3952448462030852096,6284815103542083584,7436603081523924992,8873909673392902144
BUF_SIZE 1 srl 0-2147487743,18446744071562067968-u64max
BUF_SIZE 1 srl 0-2147487743,18446744071562067968-u64max
DATA_SOURCE 0 d_runlist $2
DATA_SOURCE 3 new_rl_count $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 d_runlist->count
NO_OVERFLOW_SIMPLE 1 srl->length

fs/ntfs/iomap.c ntfs_write_simple_iomap_begin_non_resident() -> ntfs_runlists_merge()

Type Parameter Key Value
PARAM_VALUE 0 d_runlist 4096-ptr_max
PARAM_VALUE 1 srl 4096-ptr_max
PARAM_VALUE 1 srl->lcn (-1)
PARAM_VALUE 1 srl->length 1-s64max
PARAM_VALUE 1 srl->vcn 0-9223372036854775806
PARAM_VALUE 2 s_rl_count 0
PARAM_VALUE 3 new_rl_count 6195518517188591616
BUF_SIZE 1 srl 48
BUF_SIZE 1 srl 48
CAPPED_DATA 1 srl->length 1
CAPPED_DATA 1 srl->vcn 1
DATA_SOURCE 1 srl r _kmalloc_noprof
NOSPEC 1 srl->vcn
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 srl->vcn 0-9223372036854775806[c]
LOCK2 &ni->runlist.lock
TYPE_LOCK (struct runlist)->lock

fs/ntfs/mft.c ntfs_mft_bitmap_extend_allocation_nolock() -> ntfs_runlists_merge()

Type Parameter Key Value
PARAM_VALUE 0 d_runlist 4096-ptr_max
PARAM_VALUE 0 d_runlist->count 2-u64max
PARAM_VALUE 0 d_runlist->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 d_runlist->lock.wait_lock.owner (-1)
PARAM_VALUE 0 d_runlist->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 d_runlist->rl 4096-ptr_max
PARAM_VALUE 1 srl 0-ptr_max
PARAM_VALUE 2 s_rl_count 0
PARAM_VALUE 3 new_rl_count 1403557814792642560
DATA_SOURCE 1 srl r ntfs_cluster_alloc
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mft_ni->mrec_lock
LOCK2 &mftbmp_ni->runlist.lock
LOCK2 &vol->mftbmp_lock
TYPE_LOCK (struct ntfs_inode)->mrec_lock
TYPE_LOCK (struct ntfs_volume)->mftbmp_lock
TYPE_LOCK (struct runlist)->lock

fs/ntfs/mft.c ntfs_mft_data_extend_allocation_nolock() -> ntfs_runlists_merge()

Type Parameter Key Value
PARAM_VALUE 0 d_runlist 4096-ptr_max
PARAM_VALUE 0 d_runlist->count 2-u64max
PARAM_VALUE 0 d_runlist->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 d_runlist->rl 4096-ptr_max
PARAM_VALUE 1 srl 0-ptr_max
PARAM_VALUE 2 s_rl_count 0
PARAM_VALUE 3 new_rl_count 1085494470601179136
DATA_SOURCE 1 srl r ntfs_cluster_alloc
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mft_ni->mrec_lock
LOCK2 &mft_ni->runlist.lock
LOCK2 &vol->mftbmp_lock
TYPE_LOCK (struct ntfs_inode)->mrec_lock
TYPE_LOCK (struct ntfs_volume)->mftbmp_lock
TYPE_LOCK (struct runlist)->lock

fs/ntfs/attrib.c ntfs_attr_map_cluster() -> ntfs_runlists_merge()

Type Parameter Key Value
PARAM_VALUE 0 d_runlist 4096-ptr_max
PARAM_VALUE 0 d_runlist->count 2-u64max
PARAM_VALUE 0 d_runlist->rl 4096-ptr_max
PARAM_VALUE 1 srl 4096-ptr_max
PARAM_VALUE 2 s_rl_count 0
PARAM_VALUE 3 new_rl_count 3372671267956502528
DATA_SOURCE 1 srl r ntfs_cluster_alloc
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 srl->length
LOCK2 &ni->runlist.lock
HALF_LOCKED2 &ni->mrec_lock
HALF_LOCKED2 &vi->i_rwsem
TYPE_LOCK (struct runlist)->lock

fs/ntfs/attrib.c ntfs_non_resident_attr_expand() -> ntfs_runlists_merge()

Type Parameter Key Value
PARAM_VALUE 0 d_runlist 4096-ptr_max
PARAM_VALUE 0 d_runlist->rl 1-u64max
PARAM_VALUE 1 srl 0-ptr_max
PARAM_VALUE 2 s_rl_count 0
PARAM_VALUE 3 new_rl_count 691876149743788032
BUF_SIZE 1 srl 0-u64max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 srl->vcn 0-9223372036854775806[c]
NO_OVERFLOW_SIMPLE 0 d_runlist->count
NO_OVERFLOW_SIMPLE 1 srl->length
HALF_LOCKED2 &ni->mrec_lock
HALF_LOCKED2 &ni->mrec_lock
HALF_LOCKED2 &ni->runlist.lock
HALF_LOCKED2 &ni->runlist.lock
HALF_LOCKED2 &vi->i_rwsem