Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/md/dm-integrity.c __journal_read_write() -> get_area_and_offset()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->sb 4096-ptr_max
PARAM_VALUE 2 area 5995412676889223168
PARAM_VALUE 3 offset 2369560427091410944
BUF_SIZE 0 ic (-1),16,40-s32max
BUF_SIZE 0 ic (-1),16,40-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 data_sector unit_byte
HALF_LOCKED2 &md->io_barrier

drivers/md/dm-integrity.c calculate_device_limits() -> get_area_and_offset()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->meta_dev 0
PARAM_VALUE 0 ic->sb 4096-ptr_max
PARAM_VALUE 0 ic->sb->log2_interleave_sectors 3-31
PARAM_VALUE 2 area 117085453787320320
PARAM_VALUE 3 offset 4577243986033201152
CAPPED_DATA 0 ic->sb->log2_interleave_sectors 1
DATA_SOURCE 0 ic $0
MEM_ZERO 0 ic->sb
NOCHECK_CALL
UNITS 1 data_sector unit_byte

drivers/md/dm-integrity.c dm_integrity_map() -> get_area_and_offset()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 2 area 7555634404873007104
PARAM_VALUE 3 offset 7039306154365321216
BUF_SIZE 0 ic 16,40-s32max
BUF_SIZE 0 ic 16,40-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 data_sector unit_byte
LOCK2 &md->io_barrier
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->swap_bios_semaphore
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-integrity.c do_journal_write() -> get_area_and_offset()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 2 area 5064905773712748544
PARAM_VALUE 3 offset 401808251597410304
BUF_SIZE 0 ic (-1),16,40-s32max
BUF_SIZE 0 ic (-1),16,40-s32max
DATA_SOURCE 0 ic $0
NOCHECK_CALL
UNITS 1 data_sector unit_byte
HALF_LOCKED2 &md->suspend_lock

drivers/md/dm-integrity.c do_journal_write() -> get_area_and_offset()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->sb 4096-ptr_max
PARAM_VALUE 1 data_sector 0-18446744073709551614
PARAM_VALUE 2 area 7748767483179954176
PARAM_VALUE 3 offset 2151939847227314176
BUF_SIZE 0 ic (-1),16,40-s32max
BUF_SIZE 0 ic (-1),16,40-s32max
CAPPED_DATA 0 ic->sectors_per_block 1
CAPPED_DATA 1 data_sector 1
CAPPED_DATA 1 data_sector 1
DATA_SOURCE 0 ic $0
PARAM_COMPARE 0 ic->provided_data_sectors > $1
PARAM_COMPARE 1 data_sector < $0->provided_data_sectors
NOCHECK_CALL
UNITS 1 data_sector unit_byte
HALF_LOCKED2 &md->suspend_lock

drivers/md/dm-integrity.c integrity_recalc() -> get_area_and_offset()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->sb 4096-ptr_max
PARAM_VALUE 1 data_sector 0-18446744073709551614
PARAM_VALUE 2 area 5702547563603910656
PARAM_VALUE 3 offset 6807180524474265600
CAPPED_DATA 0 ic->internal_hash_digestsize 1
CAPPED_DATA 1 data_sector 1
CAPPED_DATA 1 data_sector 1
PARAM_COMPARE 0 ic->provided_data_sectors > $1
PARAM_COMPARE 1 data_sector < $0->provided_data_sectors
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 1 data_sector unit_byte
LOCK2 irq
LOCK2 0 &ic->endio_wait.lock
TYPE_LOCK (struct wait_queue_head)->lock

drivers/md/dm-integrity.c integrity_recalc() -> get_area_and_offset()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->sb 4096-ptr_max
PARAM_VALUE 2 area 5702547563603910656
PARAM_VALUE 2 *area 0-18446744073709551614
PARAM_VALUE 3 offset 6807180524474265600
PARAM_VALUE 3 *offset 0-18446744073709551614
CAPPED_DATA 0 ic->internal_hash_digestsize 1
NOCHECK_CALL
UNITS 1 data_sector unit_byte

drivers/md/dm-integrity.c integrity_recheck() -> get_area_and_offset()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->sb 4096-ptr_max
PARAM_VALUE 2 area 2654493318111465472
PARAM_VALUE 3 offset 4480085471106048000
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 data_sector unit_byte