Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/squashfs/symlink.c squashfs_symlink_read_folio() -> squashfs_copy_data()

Type Parameter Key Value
PARAM_VALUE 0 buffer 4096-ptr_max
PARAM_VALUE 1 entry 4096-ptr_max
PARAM_VALUE 1 entry->error 0
PARAM_VALUE 3 length s32min-(-1),1-s32max
CAPPED_DATA 3 length 1
DATA_SOURCE 1 entry r squashfs_cache_get
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mapping->invalidate_lock

fs/squashfs/file.c squashfs_fill_page() -> squashfs_copy_data()

Type Parameter Key Value
PARAM_VALUE 1 entry 0,4096-ptr_max
PARAM_VALUE 1 entry->error 0
PARAM_VALUE 3 length 0-4096
CAPPED_DATA 3 length 1
DATA_SOURCE 0 buffer r kmap_local_folio
DATA_SOURCE 1 entry $1
DATA_SOURCE 2 offset $2
DATA_SOURCE 3 length $3
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mapping->invalidate_lock

fs/squashfs/file.c squashfs_readahead_fragment() -> squashfs_copy_data()

Type Parameter Key Value
PARAM_VALUE 0 buffer 0-ptr_max
PARAM_VALUE 1 entry 4096-ptr_max
PARAM_VALUE 1 entry->error 0
PARAM_VALUE 3 length s32min-(-1),1-4096
BUF_SIZE 0 buffer (-1),4096
BUF_SIZE 0 buffer (-1),4096
CAPPED_DATA 3 length 1
DATA_SOURCE 1 entry r squashfs_get_fragment
RX_PATH
TASK_NOT_RUNNING
UNITS 2 offset unit_byte
UNITS 3 length unit_byte
HALF_LOCKED2 &mapping->invalidate_lock

fs/squashfs/cache.c squashfs_read_metadata() -> squashfs_copy_data()

Type Parameter Key Value
PARAM_VALUE 1 entry 4096-ptr_max
PARAM_VALUE 1 entry->error 0
PARAM_VALUE 1 entry->length (-2147483647)-s32max
PARAM_VALUE 2 offset s32min-2147483646
PARAM_VALUE 3 length s32min-(-1),1-s32max
BUF_SIZE 0 buffer (-1)-s32max
BUF_SIZE 0 buffer (-1)-s32max
CAPPED_DATA 2 offset 1
DATA_SOURCE 0 buffer $1 [m]
DATA_SOURCE 1 entry r squashfs_cache_get
DATA_SOURCE 3 length $4 [m]
PARAM_COMPARE 2 offset < $1->length
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 buffer 4096-ptr_max[u]
USER_DATA 2 offset 0-8191[c]
USER_DATA 3 length 4-4092[c]
UNITS 2 offset unit_byte
UNITS 3 length unit_byte