Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->journal_sections 1-u32max
BUF_SIZE 0 ic (-1),16,40-s32max
BUF_SIZE 0 ic (-1),16,40-s32max
CAPPED_DATA 0 ic->journal_section_entries 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &md->io_barrier

drivers/md/dm-integrity.c dm_integrity_map_continue() -> wraparound_section()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 1 sec_ptr 4096-ptr_max
BUF_SIZE 0 ic (-1),16,40-s32max
BUF_SIZE 0 ic (-1),16,40-s32max
CAPPED_DATA 0 ic->free_section_entry 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
LOCK2 0 &ic->endio_wait.lock
HALF_LOCKED2 &md->io_barrier
TYPE_LOCK (struct wait_queue_head)->lock

drivers/md/dm-integrity.c dm_integrity_map_continue() -> wraparound_section()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->journal_sections 1-u32max
PARAM_VALUE 1 sec_ptr 1614999050104954880
BUF_SIZE 0 ic (-1),16,40-s32max
BUF_SIZE 0 ic (-1),16,40-s32max
CAPPED_DATA 0 ic->free_section_entry 1
CAPPED_DATA 0 ic->journal_section_entries 1
CAPPED_DATA 0 ic->journal_sections 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
LOCK2 0 &ic->endio_wait.lock
HALF_LOCKED2 &md->io_barrier
TYPE_LOCK (struct wait_queue_head)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 1 sec_ptr 8413943222139269120
BUF_SIZE 0 ic (-1),16,40-s32max
BUF_SIZE 0 ic (-1),16,40-s32max
CAPPED_DATA 0 ic->journal_section_entries 1
DATA_SOURCE 0 ic $0
HALF_LOCKED2 &md->suspend_lock

drivers/md/dm-integrity.c init_journal() -> wraparound_section()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 1 sec_ptr 1586449787068035072
BUF_SIZE 0 ic 16,40-s32max
BUF_SIZE 0 ic 16,40-s32max
DATA_SOURCE 0 ic $0
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 ic->bufio->slab_buffer->object_size
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-integrity.c integrity_commit() -> wraparound_section()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->journal_sections 1-u32max
PARAM_VALUE 1 sec_ptr 7300820389769592832
CAPPED_DATA 0 ic->journal_section_entries 1
CAPPED_DATA 0 ic->journal_section_sectors 1
NOCHECK_CALL

drivers/md/dm-integrity.c integrity_commit() -> wraparound_section()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->journal_sections 1-u32max
PARAM_VALUE 1 sec_ptr 4096-ptr_max
CAPPED_DATA 0 ic->journal_section_entries 1
CAPPED_DATA 0 ic->journal_section_sectors 1
CAPPED_DATA 0 ic->journal_sections 1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 irq
LOCK2 0 &ic->endio_wait.lock
TYPE_LOCK (struct wait_queue_head)->lock

drivers/md/dm-integrity.c integrity_writer() -> wraparound_section()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 1 sec_ptr 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 ic->bufio->slab_cache->object_size
LOCK2 irq
LOCK2 0 &ic->endio_wait.lock
TYPE_LOCK (struct wait_queue_head)->lock

drivers/md/dm-integrity.c pad_uncommitted() -> wraparound_section()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 1 sec_ptr 4096-ptr_max
DATA_SOURCE 0 ic $0
PREEMPT_ADD
NOCHECK_CALL
LOCK2 irq
LOCK2 0 &ic->endio_wait.lock
TYPE_LOCK (struct wait_queue_head)->lock

drivers/md/dm-integrity.c replay_journal() -> wraparound_section()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 1 sec_ptr 6787726612821905408
BUF_SIZE 0 ic 16,40-s32max
BUF_SIZE 0 ic 16,40-s32max
CAPPED_DATA 0 ic->journal_sections 1
CAPPED_DATA 0 ic->provided_data_sectors 1
DATA_SOURCE 0 ic $0
NOCHECK_CALL
LOCK2 &md->suspend_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-integrity.c replay_journal() -> wraparound_section()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->journal_sections 1-u32max
PARAM_VALUE 1 sec_ptr 8553939444160339968
BUF_SIZE 0 ic 16,40-s32max
BUF_SIZE 0 ic 16,40-s32max
CAPPED_DATA 0 ic->journal_section_sectors 1
CAPPED_DATA 0 ic->journal_sections 1
CAPPED_DATA 0 ic->provided_data_sectors 1
DATA_SOURCE 0 ic $0
NOCHECK_CALL
LOCK2 &md->suspend_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-integrity.c replay_journal() -> wraparound_section()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 1 sec_ptr 7492017208499224576
BUF_SIZE 0 ic 16,40-s32max
BUF_SIZE 0 ic 16,40-s32max
CAPPED_DATA 0 ic->journal_section_entries 1
CAPPED_DATA 0 ic->journal_section_sectors 1
CAPPED_DATA 0 ic->journal_sections 1
CAPPED_DATA 0 ic->provided_data_sectors 1
DATA_SOURCE 0 ic $0
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 ic->bufio->slab_cache->object_size
LOCK2 &md->suspend_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-integrity.c replay_journal() -> wraparound_section()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->journal_sections 2
PARAM_VALUE 1 sec_ptr 7492017208499224576
BUF_SIZE 0 ic 16,40-s32max
BUF_SIZE 0 ic 16,40-s32max
CAPPED_DATA 0 ic->journal_section_entries 1
CAPPED_DATA 0 ic->journal_section_sectors 1
CAPPED_DATA 0 ic->provided_data_sectors 1
DATA_SOURCE 0 ic $0
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 ic->bufio->slab_cache->object_size
LOCK2 &md->suspend_lock
TYPE_LOCK (struct mapped_device)->suspend_lock