Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

block/blk-zoned.c blk_revalidate_seq_zone() -> disk_put_zone_wplug()

Type Parameter Key Value
PARAM_VALUE 0 zwplug 4096-ptr_max
DATA_SOURCE 0 zwplug r disk_get_or_alloc_zone_wplug
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 zwplug->wp_offset 0-u32max
HOST_DATA 0 zwplug->zone_no 0-u32max
HALF_LOCKED2 &vblk->vdev_mutex

block/blk-zoned.c blk_zone_finish_bio_endio() -> disk_put_zone_wplug()

Type Parameter Key Value
PARAM_VALUE 0 zwplug 4096-ptr_max
PARAM_VALUE 0 zwplug->bio_list.head 0
PARAM_VALUE 0 zwplug->callback_head.func 1-u64max
PARAM_VALUE 0 zwplug->callback_head.next 0
PARAM_VALUE 0 zwplug->cond 1,14,255
PARAM_VALUE 0 zwplug->disk->zone_wplugs_list_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 zwplug->entry.next->prev 4096-ptr_max
PARAM_VALUE 0 zwplug->entry.prev->next 4096-ptr_max
PARAM_VALUE 0 zwplug->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 zwplug->wp_offset 0-4294967294
CAPPED_DATA 0 zwplug->zone_no 1
DATA_SOURCE 0 zwplug r disk_get_zone_wplug
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &cache->background_work_lock
HALF_LOCKED2 &head->srcu
HALF_LOCKED2 &ic->endio_wait.lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &s->lock
HALF_LOCKED2 &sdp->sd_log_flush_lock
HALF_LOCKED2 global &bch_register_lock
HALF_LOCKED2 irq
HALF_LOCKED2 lock.complete_slot
HALF_LOCKED2 lock.pending_slot

block/blk-zoned.c blk_zone_reset_bio_endio() -> disk_put_zone_wplug()

Type Parameter Key Value
PARAM_VALUE 0 zwplug 4096-ptr_max
PARAM_VALUE 0 zwplug->bio_list.head 0
PARAM_VALUE 0 zwplug->callback_head.func 1-u64max
PARAM_VALUE 0 zwplug->callback_head.next 0
PARAM_VALUE 0 zwplug->cond 1,14,255
PARAM_VALUE 0 zwplug->disk->zone_wplugs_list_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 zwplug->entry.next->prev 4096-ptr_max
PARAM_VALUE 0 zwplug->entry.prev->next 4096-ptr_max
PARAM_VALUE 0 zwplug->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 zwplug->node.next->pprev 1-u64max
PARAM_VALUE 0 zwplug->wp_offset 0
CAPPED_DATA 0 zwplug->zone_no 1
DATA_SOURCE 0 zwplug r disk_get_zone_wplug
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &cache->background_work_lock
HALF_LOCKED2 &head->srcu
HALF_LOCKED2 &ic->endio_wait.lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &s->lock
HALF_LOCKED2 &sdp->sd_log_flush_lock
HALF_LOCKED2 global &bch_register_lock
HALF_LOCKED2 irq
HALF_LOCKED2 lock.complete_slot
HALF_LOCKED2 lock.pending_slot

block/blk-zoned.c blk_zone_wplug_bio_io_error() -> disk_put_zone_wplug()

Type Parameter Key Value
PARAM_VALUE 0 zwplug 4096-ptr_max
PARAM_VALUE 0 zwplug->bio_list.head->bi_next 0
PARAM_VALUE 0 zwplug->disk 4096-ptr_max
DATA_SOURCE 0 zwplug $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags
HALF_LOCKED2 0 &zwplug->lock

block/blk-zoned.c blk_zone_wplug_bio_work() -> disk_put_zone_wplug()

Type Parameter Key Value
PARAM_VALUE 0 zwplug 4096-ptr_max
PARAM_VALUE 0 zwplug->bio_list.head->bi_next 0
PARAM_VALUE 0 zwplug->callback_head.func 1-u64max
PARAM_VALUE 0 zwplug->callback_head.next 0
PARAM_VALUE 0 zwplug->disk->zone_wplugs_hash_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 zwplug->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 zwplug->node->next->pprev 1-u64max
PARAM_VALUE 0 zwplug->node.pprev 0
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

block/blk-zoned.c blk_zone_wplug_handle_native_zone_append() -> disk_put_zone_wplug()

Type Parameter Key Value
PARAM_VALUE 0 zwplug 4096-ptr_max
PARAM_VALUE 0 zwplug->bio_list.head 0
PARAM_VALUE 0 zwplug->bio_list.head->bi_next 0
PARAM_VALUE 0 zwplug->bio_list.head->bi_status 10
PARAM_VALUE 0 zwplug->callback_head.func 1-u64max
PARAM_VALUE 0 zwplug->callback_head.next 0
PARAM_VALUE 0 zwplug->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 zwplug->node.next->pprev 1-u64max
CAPPED_DATA 0 zwplug->zone_no 1
DATA_SOURCE 0 zwplug r disk_get_zone_wplug
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->io_barrier

block/blk-zoned.c blk_zone_wplug_handle_write() -> disk_put_zone_wplug()

Type Parameter Key Value
PARAM_VALUE 0 zwplug 4096-ptr_max
PARAM_VALUE 0 zwplug->lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 zwplug r disk_get_or_alloc_zone_wplug
NOSPEC 0 zwplug->zone_no
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 zwplug->wp_offset 0-u32max
HOST_DATA 0 zwplug->zone_no 0-u32max
USER_DATA 0 zwplug->wp_offset 0-u32max[c]
USER_DATA 0 zwplug->zone_no 0-u32max
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->io_barrier

block/blk-zoned.c blk_zone_write_plug_bio_endio() -> disk_put_zone_wplug()

Type Parameter Key Value
PARAM_VALUE 0 zwplug 4096-ptr_max
CAPPED_DATA 0 zwplug->zone_no 1
DATA_SOURCE 0 zwplug r disk_get_zone_wplug
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &cache->background_work_lock
HALF_LOCKED2 &head->srcu
HALF_LOCKED2 &ic->endio_wait.lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &s->lock
HALF_LOCKED2 &sdp->sd_log_flush_lock
HALF_LOCKED2 global &bch_register_lock
HALF_LOCKED2 irq
HALF_LOCKED2 lock.complete_slot
HALF_LOCKED2 lock.pending_slot

block/blk-zoned.c blk_zone_write_plug_bio_endio() -> disk_put_zone_wplug()

Type Parameter Key Value
PARAM_VALUE 0 zwplug 4096-ptr_max
CAPPED_DATA 0 zwplug->zone_no 1
DATA_SOURCE 0 zwplug r disk_get_zone_wplug
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &cache->background_work_lock
HALF_LOCKED2 &head->srcu
HALF_LOCKED2 &ic->endio_wait.lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &s->lock
HALF_LOCKED2 &sdp->sd_log_flush_lock
HALF_LOCKED2 global &bch_register_lock
HALF_LOCKED2 irq
HALF_LOCKED2 lock.complete_slot
HALF_LOCKED2 lock.pending_slot

block/blk-zoned.c blk_zone_write_plug_finish_request() -> disk_put_zone_wplug()

Type Parameter Key Value
PARAM_VALUE 0 zwplug 4096-ptr_max
CAPPED_DATA 0 zwplug->zone_no 1
DATA_SOURCE 0 zwplug r disk_get_zone_wplug
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

block/blk-zoned.c blk_zone_write_plug_finish_request() -> disk_put_zone_wplug()

Type Parameter Key Value
PARAM_VALUE 0 zwplug 4096-ptr_max
PARAM_VALUE 0 zwplug->disk->zone_wplugs_hash_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 zwplug->lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 zwplug->wp_offset 1
CAPPED_DATA 0 zwplug->zone_no 1
DATA_SOURCE 0 zwplug r disk_get_zone_wplug
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

block/blk-zoned.c blkdev_get_zone_info() -> disk_put_zone_wplug()

Type Parameter Key Value
PARAM_VALUE 0 zwplug 4096-ptr_max
PARAM_VALUE 0 zwplug->lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 zwplug->zone_no 1
DATA_SOURCE 0 zwplug r disk_get_zone_wplug
BIT_INFO 0 zwplug->flags 0x2,0xffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

block/blk-zoned.c blkdev_get_zone_info() -> disk_put_zone_wplug()

Type Parameter Key Value
PARAM_VALUE 0 zwplug 4096-ptr_max
PARAM_VALUE 0 zwplug->lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 zwplug->zone_no 1
DATA_SOURCE 0 zwplug r disk_get_zone_wplug
BIT_INFO 0 zwplug->flags 0x0,0xfffffffd
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

block/blk-zoned.c disk_mark_zone_wplug_dead() -> disk_put_zone_wplug()

Type Parameter Key Value
PARAM_VALUE 0 zwplug 4096-ptr_max
PARAM_VALUE 0 zwplug->flags 0,4-u32max
DATA_SOURCE 0 zwplug $0
BIT_INFO 0 zwplug->flags 0x4,0xffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &zwplug->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct blk_zone_wplug)->lock

block/blk-zoned.c disk_zone_wplug_abort() -> disk_put_zone_wplug()

Type Parameter Key Value
PARAM_VALUE 0 zwplug 4096-ptr_max
PARAM_VALUE 0 zwplug->bio_list.head 0
PARAM_VALUE 0 zwplug->bio_list.head->bi_next 0
PARAM_VALUE 0 zwplug->callback_head.func 1-u64max
PARAM_VALUE 0 zwplug->callback_head.next 0
PARAM_VALUE 0 zwplug->disk 4096-ptr_max
PARAM_VALUE 0 zwplug->disk->queue 4096-ptr_max
PARAM_VALUE 0 zwplug->disk->zone_wplugs_hash_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 zwplug->disk->zone_wplugs_list_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 zwplug->entry.next->prev 4096-ptr_max
PARAM_VALUE 0 zwplug->entry.prev->next 4096-ptr_max
PARAM_VALUE 0 zwplug->flags 0,2-u32max
PARAM_VALUE 0 zwplug->node->next->pprev 1-u64max
PARAM_VALUE 0 zwplug->node.next->pprev 1-u64max
PARAM_VALUE 0 zwplug->node.pprev 0
CAPPED_DATA 0 &zwplug->entry 1
DATA_SOURCE 0 zwplug $0
BIT_INFO 0 zwplug->flags 0x0,0xfffffffe
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &disk->zone_wplugs_list_lock
LOCK2 flags
LOCK2 0 &zwplug->lock
TYPE_LOCK (struct blk_zone_wplug)->lock
TYPE_LOCK (struct gendisk)->zone_wplugs_list_lock

block/blk-zoned.c disk_zone_wplug_schedule_work() -> disk_put_zone_wplug()

Type Parameter Key Value
PARAM_VALUE 0 zwplug 4096-ptr_max
PARAM_VALUE 0 zwplug->bio_list.head 1-u64max
CAPPED_DATA 0 &zwplug->bio_work 1
DATA_SOURCE 0 zwplug $1
BIT_INFO 0 zwplug->flags 0x0,0xffffffff
NOSPEC 0 zwplug->bio_list.head->bi_iter.bi_sector
NOSPEC 0 zwplug->bio_list.head->bi_iter.bi_size
NOSPEC 0 zwplug->bio_list.tail->bi_iter.bi_sector
NOSPEC 0 zwplug->bio_list.tail->bi_iter.bi_size
NOSPEC 0 zwplug->bio_list.tail->bi_next->bi_iter.bi_sector
NOSPEC 0 zwplug->bio_list.tail->bi_next->bi_iter.bi_size
NOSPEC 0 zwplug->zone_no
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 zwplug->bio_list.head->bi_iter.bi_sector 0-u64max
HOST_DATA 0 zwplug->bio_list.head->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 zwplug->bio_list.head->bi_max_vecs 0-u16max[c]
HOST_DATA 0 zwplug->bio_list.tail->bi_iter.bi_sector 0-u64max
HOST_DATA 0 zwplug->bio_list.tail->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 zwplug->bio_list.tail->bi_max_vecs 0-u16max[c]
HOST_DATA 0 zwplug->bio_list.tail->bi_next->bi_iter.bi_sector 0-u64max
HOST_DATA 0 zwplug->bio_list.tail->bi_next->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 zwplug->bio_list.tail->bi_next->bi_max_vecs 0-u16max[c]
HOST_DATA 0 zwplug->wp_offset 0-u32max
HOST_DATA 0 zwplug->zone_no 0-u32max
USER_DATA 0 zwplug->bio_list.head->bi_ioprio 0-u16max
USER_DATA 0 zwplug->bio_list.head->bi_iter.bi_sector 0-u64max
USER_DATA 0 zwplug->bio_list.head->bi_iter.bi_size 0-u32max
USER_DATA 0 zwplug->bio_list.head->bi_max_vecs 0-u16max[c]
USER_DATA 0 zwplug->bio_list.tail->bi_ioprio 0-u16max
USER_DATA 0 zwplug->bio_list.tail->bi_iter.bi_sector 0-u64max
USER_DATA 0 zwplug->bio_list.tail->bi_iter.bi_size 0-u32max
USER_DATA 0 zwplug->bio_list.tail->bi_max_vecs 0-u16max[c]
USER_DATA 0 zwplug->bio_list.tail->bi_next->bi_ioprio 0-u16max
USER_DATA 0 zwplug->bio_list.tail->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 0 zwplug->bio_list.tail->bi_next->bi_iter.bi_size 0-u32max
USER_DATA 0 zwplug->bio_list.tail->bi_next->bi_max_vecs 0-u16max[c]
USER_DATA 0 zwplug->wp_offset 0-u32max[c]
USER_DATA 0 zwplug->zone_no 0-u32max
LOCK2 flags
LOCK2 0 &zwplug->lock
TYPE_LOCK (struct blk_zone_wplug)->lock

block/blk-zoned.c disk_zone_wplug_sync_wp_offset() -> disk_put_zone_wplug()

Type Parameter Key Value
PARAM_VALUE 0 zwplug 4096-ptr_max
PARAM_VALUE 0 zwplug->lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 zwplug->zone_no 1
DATA_SOURCE 0 zwplug r disk_get_zone_wplug
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &vblk->vdev_mutex

block/blk-zoned.c disk_zone_wplugs_worker() -> disk_put_zone_wplug()

Type Parameter Key Value
PARAM_VALUE 0 zwplug 4096-ptr_max
PARAM_VALUE 0 zwplug->bio_list.head 0
PARAM_VALUE 0 zwplug->bio_list.head->bi_next 0
PARAM_VALUE 0 zwplug->entry.next 4096-ptr_max
PARAM_VALUE 0 zwplug->entry.next->next 4096-ptr_max
PARAM_VALUE 0 zwplug->entry.next->prev 4096-ptr_max
PARAM_VALUE 0 zwplug->entry.prev 4096-ptr_max
PARAM_VALUE 0 zwplug->entry.prev->next 4096-ptr_max
PARAM_VALUE 0 zwplug->entry.prev->prev 4096-ptr_max
PARAM_VALUE 0 zwplug->flags 0,2-u32max
PARAM_VALUE 0 zwplug->lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 zwplug r disk_get_zone_wplugs_work
NOCHECK_CALL