Files
qemu/tests/qemu-iotests
Alberto Garcia e4d7019e1a qcow2: Avoid integer wraparound in qcow2_co_truncate()
After commit f01643fb8b when an image is
extended and BDRV_REQ_ZERO_WRITE is set then the new clusters are
zeroized.

The code however does not detect correctly situations when the old and
the new end of the image are within the same cluster. The problem can
be reproduced with these steps:

   qemu-img create -f qcow2 backing.qcow2 1M
   qemu-img create -f qcow2 -F qcow2 -b backing.qcow2 top.qcow2
   qemu-img resize --shrink top.qcow2 520k
   qemu-img resize top.qcow2 567k

In the last step offset - zero_start causes an integer wraparound.

Signed-off-by: Alberto Garcia <berto@igalia.com>
Message-Id: <20200504155217.10325-1-berto@igalia.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2020-05-08 13:26:35 +02:00
..
2020-05-05 13:17:36 +02:00
2018-01-23 12:34:43 +01:00
2019-10-14 17:12:48 +02:00
2017-07-11 17:45:02 +02:00
2019-07-30 12:25:43 +02:00
2019-11-19 10:01:34 +01:00
2020-05-05 13:17:36 +02:00
2020-01-06 13:43:07 +01:00
2020-01-06 13:43:07 +01:00
2017-05-11 12:08:24 +02:00
2017-09-06 15:19:01 +01:00
2020-01-06 13:43:07 +01:00
2020-05-08 13:26:35 +02:00
2019-07-12 15:42:23 +02:00
2019-10-28 11:22:31 +01:00
2020-03-24 11:57:38 +01:00
2020-03-24 11:57:38 +01:00
2020-05-08 13:26:35 +02:00
2020-01-06 13:43:07 +01:00
2020-01-06 13:43:07 +01:00
2020-01-06 13:43:07 +01:00
2020-01-06 13:43:07 +01:00
2020-01-06 13:43:07 +01:00
2018-06-11 16:18:45 +02:00
2020-01-06 13:43:07 +01:00
2019-08-16 10:25:16 +02:00
2020-01-06 13:43:07 +01:00
2017-10-26 15:01:14 +02:00
2020-05-05 13:17:36 +02:00
2016-05-19 16:45:31 +02:00
2020-01-06 13:43:07 +01:00
2020-01-06 13:43:07 +01:00
2019-10-28 11:22:31 +01:00
2019-10-28 11:22:31 +01:00
2020-02-20 16:43:42 +01:00
2020-05-08 13:26:35 +02:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2020-03-11 15:54:38 +01:00
2016-09-20 22:10:57 +02:00
2016-09-20 22:10:57 +02:00
2019-10-10 12:13:23 +02:00
2019-10-10 12:13:23 +02:00
2017-09-26 15:00:32 +02:00
2016-09-20 22:10:57 +02:00
2017-09-18 19:43:38 -04:00
2020-01-06 13:43:07 +01:00
2017-02-12 00:47:42 +01:00
2020-01-06 13:43:07 +01:00
2020-05-05 13:17:36 +02:00
2019-10-28 11:22:31 +01:00
2020-05-05 13:17:36 +02:00
2020-01-06 13:43:07 +01:00
2020-01-06 13:43:07 +01:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2019-06-24 16:01:04 +02:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2019-10-10 10:56:18 +02:00
2020-05-05 13:17:36 +02:00
2019-02-25 15:11:27 +01:00
2019-03-19 15:49:29 +01:00
2019-06-13 08:50:47 -05:00
2020-05-05 13:17:36 +02:00
2019-02-01 13:46:44 +01:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2019-02-01 13:46:44 +01:00
2019-10-28 11:22:31 +01:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2019-03-19 15:49:29 +01:00
2020-05-05 13:17:36 +02:00
2019-06-04 16:55:58 +02:00
2020-05-05 13:17:36 +02:00
2019-08-16 16:28:03 -04:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2019-09-16 15:37:12 +02:00
2019-09-16 15:37:12 +02:00
2020-05-05 13:17:36 +02:00
2019-10-22 20:51:31 -05:00
2020-01-06 13:43:07 +01:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2019-11-18 16:01:31 -06:00
2020-03-24 11:57:38 +01:00
2020-05-05 13:17:36 +02:00
2020-05-05 13:17:36 +02:00
2020-02-20 16:43:42 +01:00
2020-05-08 13:26:35 +02:00

=== This is the QEMU I/O test suite ===

* Intro

This package contains a simple test suite for the I/O layer of qemu.
It does not require a guest, but only the qemu, qemu-img and qemu-io
binaries.  This does limit it to exercise the low-level I/O path only
but no actual block drivers like ide, scsi or virtio.

* Usage

Just run ./check to run all tests for the raw image format, or ./check
-qcow2 to test the qcow2 image format.  The output of ./check -h explains
additional options to test further image formats or I/O methods.

* Feedback and patches

Please send improvements to the test suite, general feedback or just
reports of failing tests cases to qemu-devel@nongnu.org with a CC:
to qemu-block@nongnu.org.