Defined in 1 files as a function:

Referenced in 10 files:

Smatch caller information:

drivers/nvdimm/pmem.c pmem_submit_bio() -> bio_has_data()

Type Parameter Key Value
PARAM_VALUE 0 bio 4096-ptr_max
BUF_SIZE 0 bio (-1)-0,4,24,32,64,144-s32max
BUF_SIZE 0 bio (-1)-0,4,24,32,64,144-s32max
BUF_SIZE 0 bio->bi_pool (-1),624
BUF_SIZE 0 bio->bi_private (-1)-s32max
DATA_SOURCE 0 bio $0
STR_LEN 0 bio->bi_private (-1),8,11-12,14,17,19-20,23,26-27,29,31-32
BIT_INFO 0 bio->bi_opf 0x0,0xffffffff
NOSPEC 0 bio->bi_iter.bi_sector
NOSPEC 0 bio->bi_iter.bi_size
NOSPEC 0 bio->bi_next->bi_iter.bi_sector
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 bio->bi_bdev->bd_queue->last_merge->__sector 0-u64max
HOST_DATA 0 bio->bi_iter.bi_sector 0-u64max
HOST_DATA 0 bio->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 bio->bi_max_vecs 0-u16max[c]
HOST_DATA 0 bio->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 0 bio->bi_bdev->bd_queue->last_merge->__sector 0-u64max
USER_DATA 0 bio->bi_ioprio 0-u16max
USER_DATA 0 bio->bi_iter.bi_sector 0-u64max
USER_DATA 0 bio->bi_iter.bi_size 0-u32max
USER_DATA 0 bio->bi_max_vecs 0-u16max[c]
USER_DATA 0 bio->bi_next->bi_ioprio 0-u16max[c]
USER_DATA 0 bio->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 0 bio->bi_next->bi_max_vecs 0-256[c]
NO_OVERFLOW_SIMPLE 0 bio->bi_bdev->bd_disk->queue->queue_hw_ctx
NO_OVERFLOW_SIMPLE 0 bio->bi_bdev->bd_disk->queue->stats
NO_OVERFLOW_SIMPLE 0 bio->bi_io_vec
NO_OVERFLOW_SIMPLE 0 bio->bi_next->bi_iter.bi_sector
NO_OVERFLOW_SIMPLE 0 bio->bi_pool->bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 bio->bi_pool->bvec_pool.min_nr
NO_OVERFLOW_SIMPLE 0 bio->bio.bi_bdev->bd_disk->queue->queue_hw_ctx
NO_OVERFLOW_SIMPLE 0 bio->bio.bi_bdev->bd_disk->queue->stats
NO_OVERFLOW_SIMPLE 0 bio->bio.bi_max_vecs
HALF_LOCKED2 0 &bio->bi_bdev->bd_queue->queue_lock

drivers/block/floppy.c blk_rq_cur_bytes() -> bio_has_data()

Type Parameter Key Value
PARAM_VALUE 0 bio 1-u64max
UNITS 0 bio unit_jiffy
HALF_LOCKED2 &pool->lock

block/blk-crypto.c __blk_crypto_submit_bio() -> bio_has_data()

Type Parameter Key Value
PARAM_VALUE 0 bio 4096-ptr_max
BUF_SIZE 0 bio (-1),144
BUF_SIZE 0 bio (-1),144
BUF_SIZE 0 bio->bi_private (-1)-s32max
DATA_SOURCE 0 bio $0
NOSPEC 0 bio->bi_iter.bi_size
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 bio->bi_iter.bi_size 1-u32max[c]
USER_DATA 0 bio->bi_ioprio 0-u16max
USER_DATA 0 bio->bi_iter.bi_sector 0-36028797018963967[c]
USER_DATA 0 bio->bi_iter.bi_size 1-u32max
USER_DATA 0 bio->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 0 bio->bi_next->bi_ioprio 0-u16max[c]
NO_OVERFLOW_SIMPLE 0 bio->bi_next->bi_max_vecs
NO_OVERFLOW_SIMPLE 0 bio->bi_pool->bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 bio->bi_pool->bvec_pool.min_nr
HALF_LOCKED2 &md->io_barrier

block/blk-mq.c blk_rq_cur_bytes() -> bio_has_data()

Type Parameter Key Value
PARAM_VALUE 0 bio 1-u64max
NOSPEC 0 bio->bi_iter.bi_sector
NOSPEC 0 bio->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 bio->bi_iter.bi_sector 0-u64max
HOST_DATA 0 bio->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 bio->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 0 bio->bi_ioprio 0-u16max
USER_DATA 0 bio->bi_iter.bi_sector 0-u64max
USER_DATA 0 bio->bi_iter.bi_size 0-u32max
USER_DATA 0 bio->bi_max_vecs 0-u16max[c]
NO_OVERFLOW_SIMPLE 0 bio->bi_iter.bi_sector
NO_OVERFLOW_SIMPLE 0 bio->bi_max_vecs
UNITS 0 bio unit_jiffy

drivers/memstick/core/mspro_block.c blk_rq_cur_bytes() -> bio_has_data()

Type Parameter Key Value
PARAM_VALUE 0 bio 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 bio unit_jiffy
LOCK2 &msb->q_lock
TYPE_LOCK (struct mspro_block_data)->q_lock

block/blk-core.c submit_bio_noacct() -> bio_has_data()

Type Parameter Key Value
PARAM_VALUE 0 bio 4096-ptr_max
BUF_SIZE 0 bio (-1)-0,4,24,32,64,144-s32max
BUF_SIZE 0 bio (-1)-0,4,24,32,64,144-s32max
BUF_SIZE 0 bio->bi_pool (-1),624
BUF_SIZE 0 bio->bi_private (-1)-s32max
DATA_SOURCE 0 bio $0
STR_LEN 0 bio->bi_private (-1),8,11-12,14,17,19-20,23,26-27,29,31-32
NOSPEC 0 bio->bi_iter.bi_sector
NOSPEC 0 bio->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 bio->bi_bdev->bd_queue->last_merge->__sector 0-u64max
HOST_DATA 0 bio->bi_iter.bi_sector 0-u64max
HOST_DATA 0 bio->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 bio->bi_max_vecs 0-u16max[c]
USER_DATA 0 bio->bi_bdev->bd_queue->last_merge->__sector 0-u64max
USER_DATA 0 bio->bi_ioprio 0-u16max
USER_DATA 0 bio->bi_iter.bi_sector 0-u64max
USER_DATA 0 bio->bi_iter.bi_size 0-u32max
USER_DATA 0 bio->bi_max_vecs 0-u16max[c]
USER_DATA 0 bio->bi_next->bi_ioprio 0-u16max[c]
USER_DATA 0 bio->bi_next->bi_max_vecs 0-256[c]
NO_OVERFLOW_SIMPLE 0 bio->bi_bdev->bd_disk->queue->queue_hw_ctx
NO_OVERFLOW_SIMPLE 0 bio->bi_bdev->bd_disk->queue->stats
NO_OVERFLOW_SIMPLE 0 bio->bi_next->bi_iter.bi_sector
NO_OVERFLOW_SIMPLE 0 bio->bi_pool->bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 bio->bi_pool->bvec_pool.min_nr
NO_OVERFLOW_SIMPLE 0 bio->bio.bi_bdev->bd_disk->queue->queue_hw_ctx
NO_OVERFLOW_SIMPLE 0 bio->bio.bi_bdev->bd_disk->queue->stats
NO_OVERFLOW_SIMPLE 0 bio->bio.bi_max_vecs
UNITS 0 bio unit_jiffy
HALF_LOCKED2 &head->srcu
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 0 &bio->bi_bdev->bd_queue->queue_lock

block/blk-merge.c bio_seg_gap() -> bio_has_data()

Type Parameter Key Value
BUF_SIZE 0 bio (-1)-0,4,24,32,64,144-s32max
BUF_SIZE 0 bio (-1)-0,4,24,32,64,144-s32max
DATA_SOURCE 0 bio $1
STR_LEN 0 bio->bi_private (-1)
NOSPEC 0 bio->bi_iter.bi_sector
NOSPEC 0 bio->bi_iter.bi_size
NOSPEC 0 bio->bi_next->bi_iter.bi_sector
NOSPEC 0 bio->bi_next->bi_iter.bi_size
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 bio->bi_bdev->bd_queue->last_merge->__sector 0-18446744073709551614
HOST_DATA 0 bio->bi_iter.bi_sector 0-u64max
HOST_DATA 0 bio->bi_iter.bi_size 1-u32max[c]
HOST_DATA 0 bio->bi_max_vecs 0-u16max[c]
HOST_DATA 0 bio->bi_next->bi_iter.bi_sector 0-u64max
HOST_DATA 0 bio->bi_next->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 bio->bi_next->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 0 bio->bi_ioprio 0-u16max
USER_DATA 0 bio->bi_iter.bi_sector 0-u64max
USER_DATA 0 bio->bi_iter.bi_size 1-u32max
USER_DATA 0 bio->bi_max_vecs 0-u16max[c]
USER_DATA 0 bio->bi_next->bi_ioprio 0-u16max
USER_DATA 0 bio->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 0 bio->bi_next->bi_iter.bi_size 0-u32max
USER_DATA 0 bio->bi_next->bi_max_vecs 0-u16max[c]
NO_OVERFLOW_SIMPLE 0 bio->bi_bdev->bd_disk->queue->queue_hw_ctx
NO_OVERFLOW_SIMPLE 0 bio->bi_bdev->bd_disk->queue->stats
NO_OVERFLOW_SIMPLE 0 bio->bi_pool->bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 bio->bi_pool->bvec_pool.min_nr
NO_OVERFLOW_SIMPLE 0 bio->bio.bi_bdev->bd_disk->queue->queue_hw_ctx
NO_OVERFLOW_SIMPLE 0 bio->bio.bi_bdev->bd_disk->queue->stats
NO_OVERFLOW_SIMPLE 0 bio->bio.bi_max_vecs
UNITS 0 bio unit_jiffy
HALF_LOCKED2 0 &bio->bi_bdev->bd_queue->queue_lock

block/blk-merge.c bio_will_gap() -> bio_has_data()

Type Parameter Key Value
BUF_SIZE 0 bio (-1)-0,32,144-16528
BUF_SIZE 0 bio (-1)-0,32,144-16528
DATA_SOURCE 0 bio $2
STR_LEN 0 bio->bi_private (-1)
NOSPEC 0 bio->bi_iter.bi_sector
NOSPEC 0 bio->bi_iter.bi_size
NOSPEC 0 bio->bi_next->bi_iter.bi_sector
NOSPEC 0 bio->bi_next->bi_iter.bi_size
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 bio->bi_bdev->bd_queue->last_merge->__sector 0-s32max[c]
HOST_DATA 0 bio->bi_iter.bi_sector 0-u64max
HOST_DATA 0 bio->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 bio->bi_max_vecs 0-4,16,64,128,256[c]
HOST_DATA 0 bio->bi_next->bi_iter.bi_sector 0-u64max
HOST_DATA 0 bio->bi_next->bi_iter.bi_size 1024-4294966272[c]
USER_DATA 0 bio->bi_ioprio 0-u16max
USER_DATA 0 bio->bi_iter.bi_sector 0-u64max
USER_DATA 0 bio->bi_iter.bi_size 0-u32max
USER_DATA 0 bio->bi_max_vecs 0-u16max[c]
USER_DATA 0 bio->bi_next->bi_ioprio 0-u16max
USER_DATA 0 bio->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 0 bio->bi_next->bi_iter.bi_size 0-u32max
USER_DATA 0 bio->bi_next->bi_max_vecs 0-1024[c]
NO_OVERFLOW_SIMPLE 0 bio->bi_bdev->bd_disk->queue->queue_hw_ctx
NO_OVERFLOW_SIMPLE 0 bio->bi_bdev->bd_disk->queue->stats
NO_OVERFLOW_SIMPLE 0 bio->bi_pool->bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 bio->bi_pool->bvec_pool.min_nr
NO_OVERFLOW_SIMPLE 0 bio->bio.bi_bdev->bd_disk->queue->queue_hw_ctx
NO_OVERFLOW_SIMPLE 0 bio->bio.bi_bdev->bd_disk->queue->stats
NO_OVERFLOW_SIMPLE 0 bio->bio.bi_max_vecs
UNITS 0 bio unit_jiffy
HALF_LOCKED2 0 &bio->bi_bdev->bd_queue->queue_lock

drivers/mtd/mtd_blkdevs.c blk_rq_cur_bytes() -> bio_has_data()

Type Parameter Key Value
PARAM_VALUE 0 bio 1-u64max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 bio unit_jiffy
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read

drivers/md/raid1.c alloc_behind_master_bio() -> bio_has_data()

Type Parameter Key Value
PARAM_VALUE 0 bio 4096-ptr_max
PARAM_VALUE 0 bio->bi_iter.bi_size 1-u32max
PARAM_VALUE 0 bio->bi_opf 0,65536-u32max
DATA_SOURCE 0 bio $1
STR_LEN 0 bio->bi_private (-1)
NOSPEC 0 bio->bi_iter.bi_sector
NOSPEC 0 bio->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 bio->bi_bdev->bd_queue->last_merge->__sector 0-18446744073709551614
HOST_DATA 0 bio->bi_iter.bi_sector 0-u64max
HOST_DATA 0 bio->bi_iter.bi_size 512-4294966272[c]
HOST_DATA 0 bio->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 0 bio->bi_ioprio 0-u16max
USER_DATA 0 bio->bi_iter.bi_sector 0-u64max
USER_DATA 0 bio->bi_iter.bi_size 512-4294966272[c]
USER_DATA 0 bio->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 0 bio->bi_next->bi_ioprio 0-u16max[c]
USER_DATA 0 bio->bi_next->bi_max_vecs 0-256[c]
NO_OVERFLOW_SIMPLE 0 bio->bi_bdev->bd_disk->queue->queue_hw_ctx
NO_OVERFLOW_SIMPLE 0 bio->bi_bdev->bd_disk->queue->stats
NO_OVERFLOW_SIMPLE 0 bio->bi_next->bi_iter.bi_sector
NO_OVERFLOW_SIMPLE 0 bio->bi_next->bi_max_vecs
NO_OVERFLOW_SIMPLE 0 bio->bi_pool->bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 bio->bi_pool->bvec_pool.min_nr
NO_OVERFLOW_SIMPLE 0 bio->bio.bi_max_vecs
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 0 &bio->bi_bdev->bd_queue->queue_lock

drivers/md/dm-raid.c raid_map() -> bio_has_data()

Type Parameter Key Value
PARAM_VALUE 0 bio 4096-ptr_max
BUF_SIZE 0 bio (-1),144
BUF_SIZE 0 bio (-1),144
DATA_SOURCE 0 bio $1
NOSPEC 0 bio->bi_iter.bi_sector
NOSPEC 0 bio->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 bio->bi_iter.bi_sector 0
HOST_DATA 0 bio->bi_iter.bi_size 0[c]
HOST_DATA 0 bio->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 0 bio->bi_ioprio 0-u16max
USER_DATA 0 bio->bi_iter.bi_sector 0
USER_DATA 0 bio->bi_iter.bi_size 0
USER_DATA 0 bio->bi_max_vecs 0-4,16,64,128,256[c]
NO_OVERFLOW_SIMPLE 0 bio->bi_pool->bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 bio->bi_pool->bvec_pool.min_nr
LOCK2 &md->io_barrier
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->swap_bios_semaphore
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-inlinecrypt.c inlinecrypt_map() -> bio_has_data()

Type Parameter Key Value
PARAM_VALUE 0 bio 4096-ptr_max
BUF_SIZE 0 bio (-1),144
BUF_SIZE 0 bio (-1),144
DATA_SOURCE 0 bio $1
NOSPEC 0 bio->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 bio->bi_iter.bi_size 0[c]
HOST_DATA 0 bio->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 0 bio->bi_ioprio 0-u16max
USER_DATA 0 bio->bi_iter.bi_size 0
USER_DATA 0 bio->bi_max_vecs 0-4,16,64,128,256[c]
NO_OVERFLOW_SIMPLE 0 bio->bi_pool->bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 bio->bi_pool->bvec_pool.min_nr
LOCK2 &md->io_barrier
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->swap_bios_semaphore
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-flakey.c flakey_map() -> bio_has_data()

Type Parameter Key Value
PARAM_VALUE 0 bio 4096-ptr_max
BUF_SIZE 0 bio (-1),144
BUF_SIZE 0 bio (-1),144
DATA_SOURCE 0 bio $1
NOSPEC 0 bio->bi_iter.bi_sector
NOSPEC 0 bio->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 bio->bi_iter.bi_sector 0
HOST_DATA 0 bio->bi_iter.bi_size 0[c]
HOST_DATA 0 bio->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 0 bio->bi_ioprio 0-u16max
USER_DATA 0 bio->bi_iter.bi_sector 0
USER_DATA 0 bio->bi_iter.bi_size 0
USER_DATA 0 bio->bi_max_vecs 0-4,16,64,128,256[c]
NO_OVERFLOW_SIMPLE 0 bio->bi_pool->bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 bio->bi_pool->bvec_pool.min_nr
LOCK2 &md->io_barrier
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->swap_bios_semaphore
TYPE_LOCK (struct mapped_device)->io_barrier