Defined in 1 files as a function:

Referenced in 22 files:

Smatch caller information:

drivers/md/dm-cache-target.c schedule_commit() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &b->lock
LOCK2 irq
HALF_LOCKED2 &md->io_barrier
TYPE_LOCK (struct batcher)->lock

block/blk-throttle.c blk_throtl_dispatch_work_fn() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 9183852281842356224
PARAM_VALUE 0 bl->head 0,4096-ptr_max
HALF_LOCKED2 &pool->lock

block/blk-throttle.c throtl_pop_queued() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &q->queue_lock
LOCK2 irq
TYPE_LOCK (struct request_queue)->queue_lock

block/blk-throttle.c throtl_pop_queued() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &q->queue_lock
LOCK2 irq
TYPE_LOCK (struct request_queue)->queue_lock

drivers/md/dm-zoned-target.c dmz_put_chunk_work() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
LOCK2 &dmz->chunk_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dmz_target)->chunk_lock

drivers/md/dm-clone-target.c issue_deferred_bios() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
DATA_SOURCE 0 bl $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/md/dm-clone-target.c process_deferred_bios() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 6480228445013065728
HALF_LOCKED2 &pool->lock

drivers/md/dm-clone-target.c process_deferred_discards() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 8961176542110945280
HALF_LOCKED2 &pool->lock

drivers/md/dm-clone-target.c process_deferred_flush_bios() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 146017640793706496
HALF_LOCKED2 &pool->lock

drivers/md/dm-clone-target.c process_deferred_flush_bios() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 5568051188611395584
HALF_LOCKED2 &pool->lock

drivers/md/dm-era-target.c process_deferred_bios() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 7324781019200389120
HALF_LOCKED2 &pool->lock

drivers/md/dm-mpath.c process_queued_bios() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD <- disables preempt
LOCK2 &m->lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct multipath)->lock

drivers/md/dm-thin.c cell_defer_no_holder() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 5359286167828774912
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pool->lock

drivers/md/dm-thin.c process_deferred_bios() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 7840015045153312768
HALF_LOCKED2 &pool->lock

drivers/md/dm-thin.c process_deferred_bios() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 594265792319815680
HALF_LOCKED2 &pool->lock

drivers/md/dm-thin.c process_thin_deferred_bios() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD <- disables preempt
LOCK2 &tc->lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct thin_c)->lock

drivers/md/dm-writecache.c writecache_offload_bio() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &md->io_barrier
LOCK2 &wc->lock
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->swap_bios_semaphore
TYPE_LOCK (struct dm_writecache)->lock
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm.c __send_zone_reset_all_emulated() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 6478175608056123392
RX_PATH
TASK_NOT_RUNNING
LOCK2 &md->io_barrier
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm.c __send_zone_reset_all_emulated() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 6478175608056123392
RX_PATH
TASK_NOT_RUNNING
LOCK2 &md->io_barrier
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mapped_device)->io_barrier

block/bio.c __bio_complete_in_task() -> bio_list_empty()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
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 &md->suspend_lock
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/bio.c bio_complete_batch_cpu_online() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq

block/bio.c bio_complete_work_fn() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 978020652173856768
HALF_LOCKED2 &pool->lock

block/bio.c punt_bios_to_rescuer() -> bio_list_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dcc->cmd_lock
HALF_LOCKED2 &fs_info->fs_devices->device_list_mutex
HALF_LOCKED2 &fs_info->tree_log_mutex
HALF_LOCKED2 &log->io_mutex
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &vi->i_rwsem
HALF_LOCKED2 global &device_hotplug_lock
HALF_LOCKED2 global &system_transition_mutex

block/bio.c punt_bios_to_rescuer() -> bio_list_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dcc->cmd_lock
HALF_LOCKED2 &fs_info->fs_devices->device_list_mutex
HALF_LOCKED2 &fs_info->tree_log_mutex
HALF_LOCKED2 &log->io_mutex
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &vi->i_rwsem
HALF_LOCKED2 global &device_hotplug_lock
HALF_LOCKED2 global &system_transition_mutex

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

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &zwplug->lock
LOCK2 flags
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->io_barrier
TYPE_LOCK (struct blk_zone_wplug)->lock

block/blk-zoned.c disk_check_zone_wplug_dead() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &zwplug->lock
LOCK2 flags
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->io_barrier
TYPE_LOCK (struct blk_zone_wplug)->lock

block/blk-zoned.c disk_free_zone_wplug() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &disk->zone_wplugs_list_lock
HALF_LOCKED2 &zwplug->lock
HALF_LOCKED2 flags

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

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &zwplug->lock
LOCK2 flags
TYPE_LOCK (struct blk_zone_wplug)->lock

block/blk-zoned.c disk_zone_wplug_unplug_bio() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &zwplug->lock
LOCK2 flags
TYPE_LOCK (struct blk_zone_wplug)->lock

block/blk-zoned.c disk_zone_wplug_unplug_bio() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &zwplug->lock
LOCK2 flags
TYPE_LOCK (struct blk_zone_wplug)->lock

drivers/md/dm-integrity.c bitmap_block_work() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 3071309674789642240
PARAM_VALUE 0 bl->head 0,4096-ptr_max

block/blk-cgroup.c __blkg_release() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

drivers/md/dm-vdo/flush.c check_for_drain_complete() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &flusher->lock
TYPE_LOCK (struct flusher)->lock

drivers/md/dm-vdo/flush.c release_flush() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &flusher->lock
TYPE_LOCK (struct flusher)->lock

drivers/md/raid10.c stop_waiting_barrier() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &conf->resync_lock.lock
LOCK2 irq
TYPE_LOCK (struct seqlock)->lock

drivers/md/raid10.c stop_waiting_barrier() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &conf->resync_lock.lock
LOCK2 irq
TYPE_LOCK (struct seqlock)->lock

drivers/md/dm-vdo/data-vio.c check_for_drain_complete_locked() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &pool->lock
TYPE_LOCK (struct data_vio_pool)->lock

drivers/md/dm-vdo/data-vio.c check_for_drain_complete_locked() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &pool->lock
TYPE_LOCK (struct data_vio_pool)->lock

drivers/md/dm-vdo/data-vio.c dump_limiter() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD
LOCK2 &pool->lock
HALF_LOCKED2 &md->io_barrier
TYPE_LOCK (struct data_vio_pool)->lock

drivers/md/dm-vdo/data-vio.c dump_limiter() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD
LOCK2 &pool->lock
HALF_LOCKED2 &md->io_barrier
TYPE_LOCK (struct data_vio_pool)->lock

drivers/md/dm-vdo/data-vio.c free_data_vio_pool() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD <- disables preempt
LOCK2 &pool->lock
TYPE_LOCK (struct data_vio_pool)->lock

drivers/md/dm-vdo/data-vio.c free_data_vio_pool() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD <- disables preempt
LOCK2 &pool->lock
TYPE_LOCK (struct data_vio_pool)->lock

drivers/md/dm-vdo/data-vio.c free_data_vio_pool() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD <- disables preempt
LOCK2 &pool->lock
TYPE_LOCK (struct data_vio_pool)->lock

drivers/md/dm-vdo/data-vio.c free_data_vio_pool() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD <- disables preempt
LOCK2 &pool->lock
TYPE_LOCK (struct data_vio_pool)->lock

drivers/md/dm-vdo/data-vio.c reuse_or_release_resources() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/md/dm-vdo/data-vio.c update_limiter() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
BUF_SIZE 0 bl 16
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &pool->lock
TYPE_LOCK (struct data_vio_pool)->lock

drivers/md/dm-vdo/data-vio.c update_limiter() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PARAM_VALUE 0 bl->head 1-u64max
BUF_SIZE 0 bl 16
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &pool->lock
TYPE_LOCK (struct data_vio_pool)->lock

drivers/md/dm-vdo/data-vio.c update_limiter() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
BUF_SIZE 0 bl 16
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &pool->lock
TYPE_LOCK (struct data_vio_pool)->lock

drivers/md/dm-vdo/data-vio.c update_limiter() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PARAM_VALUE 0 bl->head 1-u64max
BUF_SIZE 0 bl 16
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &pool->lock
TYPE_LOCK (struct data_vio_pool)->lock

drivers/md/dm-vdo/io-submitter.c get_mergeable_locked() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &bio_queue_data->lock
TYPE_LOCK (struct bio_queue_data)->lock

fs/btrfs/raid56.c __remove_rbio_from_cache() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &h->lock
LOCK2 &rbio->bio_list_lock
LOCK2 &table->cache_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct btrfs_raid_bio)->bio_list_lock
TYPE_LOCK (struct btrfs_stripe_hash)->lock
TYPE_LOCK (struct btrfs_stripe_hash_table)->cache_lock

fs/btrfs/raid56.c free_raid_bio() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &table->cache_lock

fs/btrfs/raid56.c lock_stripe_add() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PREEMPT_ADD <- disables preempt
LOCK2 &cur->bio_list_lock
LOCK2 &h->lock
TYPE_LOCK (struct btrfs_raid_bio)->bio_list_lock
TYPE_LOCK (struct btrfs_stripe_hash)->lock

fs/btrfs/raid56.c unlock_stripe() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
PARAM_VALUE 0 bl->head 0
PREEMPT_ADD <- disables preempt
LOCK2 &h->lock
LOCK2 &rbio->bio_list_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct btrfs_raid_bio)->bio_list_lock
TYPE_LOCK (struct btrfs_stripe_hash)->lock

drivers/md/raid5-cache.c r5l_log_endio() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

fs/iomap/bio.c iomap_fail_buffered_read() -> bio_list_empty()

Type Parameter Key Value
PARAM_VALUE 0 bl 7451317202772127744
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 global &failed_read_lock
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock