Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/md/dm-snap.c __find_pending_exception() -> __insert_pending_exception()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 0 s->lock.dep_map->name 0-255
PARAM_VALUE 0 s->lock.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 s->lock.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 s->lock.first_waiter->type 0-1
PARAM_VALUE 0 s->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 s->lock.wait_lock.owner (-1)
PARAM_VALUE 0 s->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 s->store 4096-ptr_max
PARAM_VALUE 0 s->valid s32min-(-1),1-s32max
PARAM_VALUE 1 pe 4096-ptr_max
PARAM_VALUE 1 pe->snap 4096-ptr_max
PARAM_VALUE 1 pe->snap->lock.wait_lock.owner (-1)
PARAM_VALUE 1 pe->snap->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 1 pe->snap->store 4096-ptr_max
PARAM_VALUE 1 pe->snap->valid s32min-(-1),1-s32max
BUF_SIZE 0 s 16,40-s32max
BUF_SIZE 0 s 16,40-s32max
BUF_SIZE 1 pe->snap 16,40-s32max
DATA_SOURCE 0 s $0
DATA_SOURCE 1 pe $1
DATA_SOURCE 2 chunk $2
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 2 chunk 0-u64max
USER_DATA 2 chunk 0-u64max
LOCK2 &md->io_barrier
LOCK2 lock.complete_slot
LOCK2 lock.pending_slot
LOCK2 0 &s->lock
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->swap_bios_semaphore
TYPE_LOCK (struct dm_snapshot)->lock
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-snap.c __origin_write() -> __insert_pending_exception()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 0 s->active s32min-(-1),1-s32max
PARAM_VALUE 0 s->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 s->lock.first_waiter->type 0-1
PARAM_VALUE 0 s->store 4096-ptr_max
PARAM_VALUE 0 s->store->type->prepare_exception 4096-ptr_max
PARAM_VALUE 0 s->ti 4096-ptr_max
PARAM_VALUE 0 s->ti->table 4096-ptr_max
PARAM_VALUE 0 s->ti->table->num_targets 1-4294967295
PARAM_VALUE 0 s->valid s32min-(-1),1-s32max
PARAM_VALUE 1 pe 4096-ptr_max
PARAM_VALUE 1 pe->snap 4096-ptr_max
PARAM_VALUE 1 pe->snap->active s32min-(-1),1-s32max
PARAM_VALUE 1 pe->snap->store 4096-ptr_max
PARAM_VALUE 1 pe->snap->ti 4096-ptr_max
PARAM_VALUE 1 pe->snap->valid s32min-(-1),1-s32max
CAPPED_DATA 0 &s->list 1
CAPPED_DATA 0 &s->lock 1
DATA_SOURCE 2 chunk r sector_to_chunk
NOSPEC 1 pe->origin_bios.head->bi_iter.bi_sector
NOSPEC 1 pe->origin_bios.head->bi_iter.bi_size
NOSPEC 1 pe->origin_bios.tail->bi_iter.bi_sector
NOSPEC 1 pe->origin_bios.tail->bi_iter.bi_size
NOSPEC 1 pe->origin_bios.tail->bi_next->bi_iter.bi_sector
NOSPEC 1 pe->origin_bios.tail->bi_next->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 pe->origin_bios.head->bi_iter.bi_sector 0-u64max
HOST_DATA 1 pe->origin_bios.head->bi_iter.bi_size 0,512-4294966784[c]
HOST_DATA 1 pe->origin_bios.head->bi_max_vecs 0-4,16,64,128,256[c]
HOST_DATA 1 pe->origin_bios.tail->bi_iter.bi_sector 0-u64max
HOST_DATA 1 pe->origin_bios.tail->bi_iter.bi_size 0,512-4294966784[c]
HOST_DATA 1 pe->origin_bios.tail->bi_max_vecs 0-4,16,64,128,256[c]
HOST_DATA 1 pe->origin_bios.tail->bi_next->bi_iter.bi_sector 0-u64max
HOST_DATA 1 pe->origin_bios.tail->bi_next->bi_iter.bi_size 0,512-4294966784[c]
HOST_DATA 1 pe->origin_bios.tail->bi_next->bi_max_vecs 0-4,16,64,128,256[c]
HOST_DATA 2 chunk 0[c]
USER_DATA 1 pe->origin_bios.head->bi_ioprio 0-u16max
USER_DATA 1 pe->origin_bios.head->bi_iter.bi_sector 0-u64max
USER_DATA 1 pe->origin_bios.head->bi_iter.bi_size 0-u32max
USER_DATA 1 pe->origin_bios.head->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 1 pe->origin_bios.tail->bi_ioprio 0-u16max
USER_DATA 1 pe->origin_bios.tail->bi_iter.bi_sector 0-u64max
USER_DATA 1 pe->origin_bios.tail->bi_iter.bi_size 0-u32max
USER_DATA 1 pe->origin_bios.tail->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 1 pe->origin_bios.tail->bi_next->bi_ioprio 0-u16max
USER_DATA 1 pe->origin_bios.tail->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 1 pe->origin_bios.tail->bi_next->bi_iter.bi_size 0-u32max
USER_DATA 1 pe->origin_bios.tail->bi_next->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 2 chunk 0[c]
LOCK2 global &_origins_lock
LOCK2 lock.complete_slot
LOCK2 lock.pending_slot
LOCK2 0 &s->lock
TYPE_LOCK (struct dm_snapshot)->lock