Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

fs/ntfs3/attrib.c attr_allocate_clusters() -> run_add_entry()

Type Parameter Key Value
PARAM_VALUE 0 run 4096-ptr_max
PARAM_VALUE 4 is_mft 0
DATA_SOURCE 0 run $1
DATA_SOURCE 1 vcn $3
DATA_SOURCE 2 lcn $4 [m]
RX_PATH
TASK_NOT_RUNNING
UNITS 2 lcn unit_bit
HALF_LOCKED2 &ni->ni_lock

fs/ntfs3/attrib.c attr_punch_hole() -> run_add_entry()

Type Parameter Key Value
PARAM_VALUE 0 run 4096-ptr_max
PARAM_VALUE 1 vcn 0-18446744073709551614
PARAM_VALUE 2 lcn u64max
PARAM_VALUE 4 is_mft 0
BUF_SIZE 0 run 24
CAPPED_DATA 1 vcn 1
CAPPED_DATA 1 vcn 1
CAPPED_DATA 3 len 1
CAPPED_DATA 3 len 1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 vcn 1-s32max[c]
UNITS 1 vcn unit_bit
UNITS 3 len unit_bit
LOCK2 &inode->i_rwsem
LOCK2 &ni->base->ni_lock
LOCK2 &ni->file.run_lock
HALF_LOCKED2 &mapping->invalidate_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem
TYPE_LOCK (struct ntfs_inode)->file.run_lock
TYPE_LOCK (struct ntfs_inode)->ni_lock

fs/ntfs3/inode.c ntfs_read_mft() -> run_add_entry()

Type Parameter Key Value
PARAM_VALUE 0 run 4096-ptr_max
PARAM_VALUE 1 vcn 0
PARAM_VALUE 4 is_mft 1
DATA_SOURCE 3 len r bytes_to_cluster

fs/ntfs3/run.c run_add_entry() -> run_add_entry()

Type Parameter Key Value
PARAM_VALUE 0 run 4096-ptr_max
PARAM_VALUE 3 len 1-u64max
BUF_SIZE 0 run (-1)-0,24
BUF_SIZE 0 run (-1)-0,24
BUF_SIZE 0 run->runs 0-u64max
CAPPED_DATA 3 len 1
CAPPED_DATA 3 len 1
DATA_SOURCE 0 run $0
DATA_SOURCE 4 is_mft $4
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 run->allocated
UNITS 1 vcn unit_bit
UNITS 2 lcn unit_bit
UNITS 3 len unit_bit
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &ni->base->ni_lock
HALF_LOCKED2 &ni->file.run_lock

fs/ntfs3/run.c run_collapse_range() -> run_add_entry()

Type Parameter Key Value
PARAM_VALUE 0 run 4096-ptr_max
PARAM_VALUE 0 run->count 1-u64max
PARAM_VALUE 1 vcn 1-u64max
PARAM_VALUE 2 lcn u64max
PARAM_VALUE 4 is_mft 0
BUF_SIZE 0 run (-1),24
BUF_SIZE 0 run (-1),24
CAPPED_DATA 1 vcn 1
CAPPED_DATA 1 vcn 1
DATA_SOURCE 0 run $0
DATA_SOURCE 1 vcn $1
DATA_SOURCE 3 len $2
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 vcn 1-s32max[c]
USER_DATA 3 len 0-s32max[c]
NO_OVERFLOW_SIMPLE 0 run->allocated
UNITS 1 vcn unit_bit
UNITS 3 len unit_bit
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &ni->base->ni_lock
HALF_LOCKED2 &ni->file.run_lock

fs/ntfs3/run.c run_insert_range() -> run_add_entry()

Type Parameter Key Value
PARAM_VALUE 0 run 4096-ptr_max
PARAM_VALUE 0 run->allocated 0
PARAM_VALUE 0 run->count 1-u64max
PARAM_VALUE 0 run->runs 0
PARAM_VALUE 4 is_mft 0
BUF_SIZE 0 run 24
DATA_SOURCE 0 run $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 vcn 1-4294967294[c]
UNITS 1 vcn unit_bit
UNITS 2 lcn unit_bit
UNITS 3 len unit_bit
LOCK2 &inode->i_rwsem
LOCK2 &ni->base->ni_lock
LOCK2 &ni->file.run_lock
HALF_LOCKED2 &mapping->invalidate_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem
TYPE_LOCK (struct ntfs_inode)->file.run_lock
TYPE_LOCK (struct ntfs_inode)->ni_lock

fs/ntfs3/run.c run_insert_range() -> run_add_entry()

Type Parameter Key Value
PARAM_VALUE 0 run 4096-ptr_max
PARAM_VALUE 1 vcn 0-18446744073709551614
PARAM_VALUE 2 lcn u64max
PARAM_VALUE 4 is_mft 0
BUF_SIZE 0 run 24
CAPPED_DATA 1 vcn 1
CAPPED_DATA 1 vcn 1
DATA_SOURCE 0 run $0
DATA_SOURCE 1 vcn $1
DATA_SOURCE 3 len $2
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 vcn 0-s32max[c]
USER_DATA 3 len 0-s32max[c]
UNITS 1 vcn unit_bit
UNITS 3 len unit_bit
LOCK2 &inode->i_rwsem
LOCK2 &ni->base->ni_lock
LOCK2 &ni->file.run_lock
HALF_LOCKED2 &mapping->invalidate_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem
TYPE_LOCK (struct ntfs_inode)->file.run_lock
TYPE_LOCK (struct ntfs_inode)->ni_lock

fs/ntfs3/run.c run_insert_range_da() -> run_add_entry()

Type Parameter Key Value
PARAM_VALUE 0 run 4096-ptr_max
PARAM_VALUE 2 lcn u64max
PARAM_VALUE 4 is_mft 0
DATA_SOURCE 0 run $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 vcn 1-4294967294[c]
UNITS 1 vcn unit_bit
UNITS 3 len unit_bit
LOCK2 &inode->i_rwsem
LOCK2 &ni->base->ni_lock
LOCK2 &ni->file.run_lock
HALF_LOCKED2 &mapping->invalidate_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem
TYPE_LOCK (struct ntfs_inode)->file.run_lock
TYPE_LOCK (struct ntfs_inode)->ni_lock

fs/ntfs3/run.c run_remove_range() -> run_add_entry()

Type Parameter Key Value
PARAM_VALUE 0 run 4096-ptr_max
PARAM_VALUE 0 run->count 1-u64max
PARAM_VALUE 1 vcn 0-18446744073709551614
PARAM_VALUE 3 len 1-u64max
PARAM_VALUE 4 is_mft 0
CAPPED_DATA 1 vcn 1
CAPPED_DATA 1 vcn 1
DATA_SOURCE 0 run $0
RX_PATH
TASK_NOT_RUNNING
UNITS 1 vcn unit_bit
UNITS 2 lcn unit_bit
UNITS 3 len unit_bit
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &ni->file.run_lock
HALF_LOCKED2 &ni->ni_lock

fs/ntfs3/run.c run_unpack() -> run_add_entry()

Type Parameter Key Value
PARAM_VALUE 0 run 4096-ptr_max
BUF_SIZE 0 run (-1)-0,24
BUF_SIZE 0 run (-1)-0,24
CAPPED_DATA 1 vcn 1
CAPPED_DATA 1 vcn 1
DATA_SOURCE 0 run $0
DATA_SOURCE 3 len r run_unpack_s64
BIT_INFO 3 len 0x0,0x0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 run->allocated
NO_OVERFLOW_SIMPLE 1 vcn
NO_OVERFLOW_SIMPLE 2 lcn
NO_OVERFLOW_SIMPLE 3 len
UNITS 1 vcn unit_bit
UNITS 2 lcn unit_bit
UNITS 3 len unit_bit
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &ni->file.run_lock
HALF_LOCKED2 &ni->ni_lock

fs/ntfs3/run.c run_unpack() -> run_add_entry()

Type Parameter Key Value
PARAM_VALUE 0 run 4096-ptr_max
PARAM_VALUE 1 vcn 1-18446744073709551614
BUF_SIZE 0 run (-1)-0,24
BUF_SIZE 0 run (-1)-0,24
CAPPED_DATA 1 vcn 1
CAPPED_DATA 1 vcn 1
DATA_SOURCE 0 run $0
DATA_SOURCE 1 vcn $5
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 run->allocated
UNITS 1 vcn unit_bit
UNITS 2 lcn unit_bit
UNITS 3 len unit_bit
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &ni->file.run_lock
HALF_LOCKED2 &ni->ni_lock