Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/iomap/buffered-io.c iomap_write_delalloc_scan() -> iomap_write_delalloc_punch()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_mapping->invalidate_lock.first_waiter->type 0-1
PARAM_VALUE 1 folio 1-1025,1027-1029,1031-ptr_max
PARAM_VALUE 2 punch_start_byte 7823449496186703872
PARAM_VALUE 3 start_byte s64min-(-4096),0-9223372036854775806
PARAM_VALUE 4 end_byte 0-s64max
PARAM_VALUE 5 iomap 4096-ptr_max
PARAM_VALUE 5 iomap->type 1
CAPPED_DATA 3 start_byte 1
CAPPED_DATA 3 start_byte 1
CAPPED_DATA 4 end_byte 1
CAPPED_DATA 4 end_byte 1
DATA_SOURCE 0 inode $0
DATA_SOURCE 1 folio r filemap_lock_folio
DATA_SOURCE 2 punch_start_byte $1
DATA_SOURCE 3 start_byte $2 [m]
DATA_SOURCE 4 end_byte $3
DATA_SOURCE 5 iomap $4
DATA_SOURCE 6 punch $5
PARAM_COMPARE 3 start_byte < $4
PARAM_COMPARE 4 end_byte > $3
PARAM_COMPARE 4 end_byte > $3
BIT_INFO 5 iomap->flags 0x1,0xffffffffffffffff
NOSPEC 2 *punch_start_byte
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 2 *punch_start_byte 0-9223372036854775806[c]
USER_DATA 3 start_byte 0-9223372036854775806[c]
USER_DATA 4 end_byte 0-s64max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_ino
NO_OVERFLOW_SIMPLE 0 inode->i_size
NO_OVERFLOW_SIMPLE 3 start_byte
NO_OVERFLOW_SIMPLE 4 end_byte
UNITS 3 start_byte unit_byte
UNITS 4 end_byte unit_byte
USER_PTR 2 punch_start_byte
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 0 &inode->i_mapping->invalidate_lock