Hi, qemu-io allows arbitrary values (up to SIZE_MAX) for the size of its I/O requests, but QEMU cannot handle anything larger than INT_MAX.
$ qemu-io -c 'aio_write 0 2G' hd.qcow2 block/block-backend.c:1035: blk_aio_write_entry: Assertion `!rwco->qiov || rwco->qiov->size == acb->bytes' failed. $ qemu-io -c 'aio_read 0 1G 1G' hd.qcow2 block/block-backend.c:1024: blk_aio_read_entry: Assertion `rwco->qiov->size == acb->bytes' failed. This series checks that those values are within range and also adds assertions to qemu_iovec_add() and qemu_iovec_init_external() to detect these cases earlier. Regards, Berto Alberto Garcia (2): qemu-io: don't allow I/O operations larger than INT_MAX iov: assert that qiov->size doesn't exceed INT_MAX qemu-io-cmds.c | 21 ++++++++++++--------- util/iov.c | 7 ++++++- 2 files changed, 18 insertions(+), 10 deletions(-) -- 2.11.0