Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->failed 0-s32max
PARAM_VALUE 0 ic->sb 4096-ptr_max
PARAM_VALUE 0 ic->sb->salt 0-255
BUF_SIZE 0 ic (-1),16,40-s32max
BUF_SIZE 0 ic (-1),16,40-s32max
DATA_SOURCE 1 section $2 [m]
DATA_SOURCE 2 n $3 [m]
RX_PATH
TASK_NOT_RUNNING
UNITS 1 section unit_array_size
HALF_LOCKED2 &md->io_barrier

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

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->endio_wait.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ic->failed 0
PARAM_VALUE 0 ic->journal_tree 4096-ptr_max
PARAM_VALUE 0 ic->journal_tree_root.rb_node 4096-ptr_max
PARAM_VALUE 0 ic->mode 74
PARAM_VALUE 0 ic->sb 4096-ptr_max
PARAM_VALUE 2 n 0-255
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_sections 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 1 section unit_array_size
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() -> access_journal_entry()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->journal_section_entries 1-255
PARAM_VALUE 0 ic->sb->salt 0-255
PARAM_VALUE 2 n 0-254
BUF_SIZE 0 ic (-1),16,40-s32max
BUF_SIZE 0 ic (-1),16,40-s32max
CAPPED_DATA 2 n 1
DATA_SOURCE 0 ic $0
PARAM_COMPARE 0 ic->journal_section_entries > $2
PARAM_COMPARE 2 n < $0->journal_section_entries
UNITS 1 section unit_array_size
HALF_LOCKED2 &md->suspend_lock

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

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->bufio->async_write_error s32min-s32max
PARAM_VALUE 0 ic->commit_wq->flags 0-4294967295
PARAM_VALUE 0 ic->commit_wq->flush_color s32min-s32max
PARAM_VALUE 0 ic->commit_wq->nr_drainers s32min-s32max
PARAM_VALUE 0 ic->commit_wq->work_color s32min-s32max
PARAM_VALUE 0 ic->journal 4096-ptr_max
PARAM_VALUE 0 ic->journal_section_entries 2-255
PARAM_VALUE 0 ic->journal_section_sectors 1-u16max
PARAM_VALUE 0 ic->journal_sections 1-u32max
PARAM_VALUE 0 ic->recalc_wq->flags 0-4294967295
PARAM_VALUE 0 ic->recalc_wq->flush_color s32min-s32max
PARAM_VALUE 0 ic->recalc_wq->nr_drainers s32min-s32max
PARAM_VALUE 0 ic->recalc_wq->work_color s32min-s32max
PARAM_VALUE 0 ic->sb 4096-ptr_max
PARAM_VALUE 0 ic->sb->salt 0-255
PARAM_VALUE 0 ic->writer_wq->flags 0-4294967295
PARAM_VALUE 0 ic->writer_wq->flush_color s32min-s32max
PARAM_VALUE 0 ic->writer_wq->nr_drainers s32min-s32max
PARAM_VALUE 0 ic->writer_wq->work_color s32min-s32max
PARAM_VALUE 1 section 0-4294967294
PARAM_VALUE 2 n 1-254
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 section 1
CAPPED_DATA 2 n 1
DATA_SOURCE 0 ic $0
PARAM_COMPARE 0 ic->journal_section_entries > $2
PARAM_COMPARE 1 section < $0->journal_sections
PARAM_COMPARE 2 n < $0->journal_section_entries
UNITS 1 section unit_array_size
HALF_LOCKED2 &md->suspend_lock

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

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->bufio->async_write_error s32min-s32max
PARAM_VALUE 0 ic->commit_wq->flags 0-4294967295
PARAM_VALUE 0 ic->commit_wq->flush_color s32min-s32max
PARAM_VALUE 0 ic->commit_wq->nr_drainers s32min-s32max
PARAM_VALUE 0 ic->commit_wq->work_color s32min-s32max
PARAM_VALUE 0 ic->endio_wait.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ic->in_progress.rb_node 4096-ptr_max
PARAM_VALUE 0 ic->journal 4096-ptr_max
PARAM_VALUE 0 ic->journal_section_entries 1-255
PARAM_VALUE 0 ic->journal_section_sectors 1-u16max
PARAM_VALUE 0 ic->journal_sections 1-u32max
PARAM_VALUE 0 ic->journal_tree 4096-ptr_max
PARAM_VALUE 0 ic->n_committed_sections 1-u32max
PARAM_VALUE 0 ic->recalc_wq->flags 0-4294967295
PARAM_VALUE 0 ic->recalc_wq->flush_color s32min-s32max
PARAM_VALUE 0 ic->recalc_wq->nr_drainers s32min-s32max
PARAM_VALUE 0 ic->recalc_wq->work_color s32min-s32max
PARAM_VALUE 0 ic->sb 4096-ptr_max
PARAM_VALUE 0 ic->sb->salt 0-255
PARAM_VALUE 0 ic->writer_wq->flags 0-4294967295
PARAM_VALUE 0 ic->writer_wq->flush_color s32min-s32max
PARAM_VALUE 0 ic->writer_wq->nr_drainers s32min-s32max
PARAM_VALUE 0 ic->writer_wq->work_color s32min-s32max
PARAM_VALUE 1 section 0-4294967294
PARAM_VALUE 2 n 0-4294967294
CAPPED_DATA 0 ic->committed_section 1
CAPPED_DATA 0 ic->sectors_per_block 1
CAPPED_DATA 1 section 1
CAPPED_DATA 2 n 1
DATA_SOURCE 0 ic $0
PARAM_COMPARE 0 ic->journal_section_entries >= $2
PARAM_COMPARE 0 ic->journal_section_sectors >= $2
PARAM_COMPARE 1 section < $0->journal_sections
PARAM_COMPARE 2 n <= $0->journal_section_entries
PARAM_COMPARE 2 n <= $0->journal_section_sectors
PREEMPT_ADD <- disables preempt
UNITS 1 section unit_array_size
LOCK2 irq
LOCK2 0 &ic->endio_wait.lock
TYPE_LOCK (struct wait_queue_head)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->bufio->async_write_error s32min-s32max
PARAM_VALUE 0 ic->commit_wq->flags 0-4294967295
PARAM_VALUE 0 ic->commit_wq->flush_color s32min-s32max
PARAM_VALUE 0 ic->commit_wq->nr_drainers s32min-s32max
PARAM_VALUE 0 ic->commit_wq->work_color s32min-s32max
PARAM_VALUE 0 ic->endio_wait.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ic->in_progress.rb_node 4096-ptr_max
PARAM_VALUE 0 ic->journal 4096-ptr_max
PARAM_VALUE 0 ic->journal_section_entries 1-255
PARAM_VALUE 0 ic->journal_section_sectors 1-u16max
PARAM_VALUE 0 ic->journal_sections 1-u32max
PARAM_VALUE 0 ic->journal_tree 4096-ptr_max
PARAM_VALUE 0 ic->n_committed_sections 1-u32max
PARAM_VALUE 0 ic->recalc_wq->flags 0-4294967295
PARAM_VALUE 0 ic->recalc_wq->flush_color s32min-s32max
PARAM_VALUE 0 ic->recalc_wq->nr_drainers s32min-s32max
PARAM_VALUE 0 ic->recalc_wq->work_color s32min-s32max
PARAM_VALUE 0 ic->sb 4096-ptr_max
PARAM_VALUE 0 ic->sb->salt 0-255
PARAM_VALUE 0 ic->writer_wq->flags 0-4294967295
PARAM_VALUE 0 ic->writer_wq->flush_color s32min-s32max
PARAM_VALUE 0 ic->writer_wq->nr_drainers s32min-s32max
PARAM_VALUE 0 ic->writer_wq->work_color s32min-s32max
PARAM_VALUE 1 section 0-4294967294
CAPPED_DATA 0 ic->committed_section 1
CAPPED_DATA 0 ic->sectors_per_block 1
CAPPED_DATA 1 section 1
DATA_SOURCE 0 ic $0
PARAM_COMPARE 1 section < $0->journal_sections
PREEMPT_ADD <- disables preempt
UNITS 1 section unit_array_size
LOCK2 irq
LOCK2 0 &ic->endio_wait.lock
TYPE_LOCK (struct wait_queue_head)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->bufio->async_write_error s32min-s32max
PARAM_VALUE 0 ic->commit_wq->flags 0-4294967295
PARAM_VALUE 0 ic->commit_wq->flush_color s32min-s32max
PARAM_VALUE 0 ic->commit_wq->nr_drainers s32min-s32max
PARAM_VALUE 0 ic->commit_wq->work_color s32min-s32max
PARAM_VALUE 0 ic->endio_wait.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ic->in_progress.rb_node 4096-ptr_max
PARAM_VALUE 0 ic->journal 4096-ptr_max
PARAM_VALUE 0 ic->journal_section_entries 1-255
PARAM_VALUE 0 ic->journal_section_sectors 1-u16max
PARAM_VALUE 0 ic->journal_sections 1-u32max
PARAM_VALUE 0 ic->recalc_wq->flags 0-4294967295
PARAM_VALUE 0 ic->recalc_wq->flush_color s32min-s32max
PARAM_VALUE 0 ic->recalc_wq->nr_drainers s32min-s32max
PARAM_VALUE 0 ic->recalc_wq->work_color s32min-s32max
PARAM_VALUE 0 ic->sb 4096-ptr_max
PARAM_VALUE 0 ic->sb->salt 0-255
PARAM_VALUE 0 ic->writer_wq->flags 0-4294967295
PARAM_VALUE 0 ic->writer_wq->flush_color s32min-s32max
PARAM_VALUE 0 ic->writer_wq->nr_drainers s32min-s32max
PARAM_VALUE 0 ic->writer_wq->work_color s32min-s32max
PARAM_VALUE 1 section 0-4294967294
PARAM_VALUE 2 n 0-4294967294
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 section 1
CAPPED_DATA 2 n 1
DATA_SOURCE 0 ic $0
PARAM_COMPARE 0 ic->journal_section_entries >= $2
PARAM_COMPARE 1 section < $0->journal_sections
PARAM_COMPARE 2 n <= $0->journal_section_entries
UNITS 1 section unit_array_size
HALF_LOCKED2 &md->suspend_lock

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

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->journal_section_entries 1-255
PARAM_VALUE 0 ic->sb->salt 0-255
PARAM_VALUE 2 n 0-254
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 2 n 1
DATA_SOURCE 0 ic $0
PARAM_COMPARE 0 ic->journal_section_entries > $2
PARAM_COMPARE 2 n < $0->journal_section_entries
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() -> access_journal_entry()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->autocommit_timer.entry.pprev 0
PARAM_VALUE 0 ic->autocommit_timer.flags 0-4194302
PARAM_VALUE 0 ic->autocommit_timer.function 0
PARAM_VALUE 0 ic->endio_wait.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ic->flush_bio_list.head 0
PARAM_VALUE 0 ic->flush_bio_list.tail 0
PARAM_VALUE 0 ic->free_section_entry 0
PARAM_VALUE 0 ic->journal_section_entries 1-255
PARAM_VALUE 0 ic->mode 74
PARAM_VALUE 0 ic->n_uncommitted_sections 1-u32max
PARAM_VALUE 0 ic->wrote_to_journal 1
PARAM_VALUE 2 n 0-254
CAPPED_DATA 2 n 1
PARAM_COMPARE 0 ic->journal_section_entries > $2
PARAM_COMPARE 2 n < $0->journal_section_entries
UNITS 1 section unit_array_size

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

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->failed 0
PARAM_VALUE 0 ic->journal_section_entries 1-255
PARAM_VALUE 0 ic->journal_sections 1-u32max
PARAM_VALUE 0 ic->journal_uptodate 0
PARAM_VALUE 0 ic->meta_dev 0,4096-ptr_max
PARAM_VALUE 0 ic->mode 0-81,83-255
PARAM_VALUE 0 ic->sb 4096-ptr_max
PARAM_VALUE 0 ic->sb->salt 0-255
PARAM_VALUE 0 ic->wrote_to_journal 0
PARAM_VALUE 2 n 0-254
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->provided_data_sectors 1
CAPPED_DATA 1 section 1
CAPPED_DATA 2 n 1
DATA_SOURCE 0 ic $0
PARAM_COMPARE 0 ic->journal_section_entries > $2
PARAM_COMPARE 1 section < $0->journal_sections
PARAM_COMPARE 2 n < $0->journal_section_entries
UNITS 1 section unit_array_size
LOCK2 &md->suspend_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-integrity.c section_mac() -> access_journal_entry()

Type Parameter Key Value
PARAM_VALUE 0 ic 4096-ptr_max
PARAM_VALUE 0 ic->bufio->need_reserved_buffers 0-4294967295
PARAM_VALUE 0 ic->journal_mac 1-u64max
PARAM_VALUE 0 ic->journal_section_entries 1-255
PARAM_VALUE 0 ic->sb 4096-ptr_max
PARAM_VALUE 0 ic->sb->salt 0-255
PARAM_VALUE 1 section 0-u32max
PARAM_VALUE 2 n 0-254
BUF_SIZE 0 ic (-1),16,40-s32max
BUF_SIZE 0 ic (-1),16,40-s32max
CAPPED_DATA 1 section 1
CAPPED_DATA 2 n 1
DATA_SOURCE 0 ic $0
DATA_SOURCE 1 section $1
PARAM_COMPARE 0 ic->journal_section_entries > $2
PARAM_COMPARE 2 n < $0->journal_section_entries
NO_OVERFLOW_SIMPLE 0 ic->bufio->slab_buffer->object_size
UNITS 1 section unit_array_size
HALF_LOCKED2 &md->suspend_lock