qemu-e2k/tests/qemu-iotests
Kevin Wolf 2ebafc854d qcow2: Fix header extension size check
After reading the extension header, offset is incremented, but not
checked against end_offset any more. This way an integer overflow could
happen when checking whether the extension end is within the allowed
range, effectively disabling the check.

This patch adds the missing check and a test case for it.

Cc: qemu-stable@nongnu.org
Reported-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 1416935562-7760-2-git-send-email-kwolf@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2014-12-10 10:31:13 +01:00
..
sample_images qemu-iotests: Test writing non-raw image headers to raw image 2014-12-10 10:31:13 +01:00
.gitignore
001
001.out
002
002.out
003
003.out
004
004.out
005 qemu-iotests: Don't run 005 on vmdk split formats 2014-02-14 18:05:39 +01:00
005.out
006
006.out
007
007.out
008
008.out
009
009.out
010
010.out
011
011.out
012
012.out
013 qemu-iotests: change _supported_proto to file for various tests 2014-02-09 09:12:38 +01:00
013.out qemu-iotests: Filter out 'qemu-io> ' prompt 2013-11-29 17:41:13 +01:00
014 qemu-iotests: change _supported_proto to file for various tests 2014-02-09 09:12:38 +01:00
014.out qemu-iotests: Filter out 'qemu-io> ' prompt 2013-11-29 17:41:13 +01:00
015
015.out
016 qemu-iotests: Use qemu-io -f $IMGFMT 2014-12-10 10:31:12 +01:00
016.out
017 qemu-iotests: Add _unsupported_imgopts for vmdk subformats 2014-01-22 12:07:16 +01:00
017.out qemu-iotests: Filter out 'qemu-io> ' prompt 2013-11-29 17:41:13 +01:00
018 qemu-iotests: change _supported_proto to file for various tests 2014-02-09 09:12:38 +01:00
018.out qemu-iotests: Filter out 'qemu-io> ' prompt 2013-11-29 17:41:13 +01:00
019 block: qemu-iotests: make test 019 and 086 work with spaced pathnames 2014-04-29 16:19:37 +02:00
019.out qemu-iotests: Filter out 'qemu-io> ' prompt 2013-11-29 17:41:13 +01:00
020 qemu-iotests: blacklist test 020 for NFS protocol 2014-02-09 09:12:38 +01:00
020.out qemu-iotests: Filter out 'qemu-io> ' prompt 2013-11-29 17:41:13 +01:00
021
021.out
022
022.out qemu-iotests: Filter out 'qemu-io> ' prompt 2013-11-29 17:41:13 +01:00
023 qemu-iotests: change _supported_proto to file for various tests 2014-02-09 09:12:38 +01:00
023.out qemu-iotests: Filter out 'qemu-io> ' prompt 2013-11-29 17:41:13 +01:00
024 qemu-iotests: change _supported_proto to file for various tests 2014-02-09 09:12:38 +01:00
024.out qemu-iotests: Filter out 'qemu-io> ' prompt 2013-11-29 17:41:13 +01:00
025 qemu-iotests: Run 025 for Archipelago block driver 2014-09-10 10:41:29 +02:00
025.out qemu-iotests: Filter out 'qemu-io> ' prompt 2013-11-29 17:41:13 +01:00
026 qemu-iotests: change _supported_proto to file for various tests 2014-02-09 09:12:38 +01:00
026.out qcow2: Don't rely on free_cluster_index in alloc_refcount_block() (CVE-2014-0147) 2014-04-01 15:21:03 +02:00
026.out.nocache
027
027.out
028 qemu-iotests: Fix 028 reference output for qed 2014-08-20 11:51:28 +02:00
028.out qemu-iotests: Fix 028 reference output for qed 2014-08-20 11:51:28 +02:00
029 qcow2: Fix L1 allocation size in qcow2_snapshot_load_tmp() (CVE-2014-0145) 2014-04-01 15:22:35 +02:00
029.out qcow2: Fix L1 allocation size in qcow2_snapshot_load_tmp() (CVE-2014-0145) 2014-04-01 15:22:35 +02:00
030 qemu-iotests: Add qemu-io format option in Python tests 2014-12-10 10:31:12 +01:00
030.out
031 iotests: Use $PYTHON for Python scripts 2014-06-27 20:00:00 +02:00
031.out
032
032.out qemu-iotests: Filter out 'qemu-io> ' prompt 2013-11-29 17:41:13 +01:00
033
033.out
034 qemu-iotests: change _supported_proto to file for various tests 2014-02-09 09:12:38 +01:00
034.out
035
035.out qemu-iotests: Filter out 'qemu-io> ' prompt 2013-11-29 17:41:13 +01:00
036 qcow2: Fix error path for unknown incompatible features 2014-07-18 13:12:15 +01:00
036.out qcow2: Fix error path for unknown incompatible features 2014-07-18 13:12:15 +01:00
037 qemu-iotests: change _supported_proto to file for various tests 2014-02-09 09:12:38 +01:00
037.out qemu-iotests: Filter out 'qemu-io> ' prompt 2013-11-29 17:41:13 +01:00
038 qemu-iotests: change _supported_proto to file for various tests 2014-02-09 09:12:38 +01:00
038.out qemu-iotests: Filter out 'qemu-io> ' prompt 2013-11-29 17:41:13 +01:00
039 iotests: Use $PYTHON for Python scripts 2014-06-27 20:00:00 +02:00
039.out iotests: Fix test outputs 2014-10-23 15:34:01 +02:00
040 qemu-iotests: Add qemu-io format option in Python tests 2014-12-10 10:31:12 +01:00
040.out qemu-iotests: Test BLOCK_JOB_READY event for 0Kb image active commit 2014-06-26 13:51:00 +02:00
041 iotests: Omit length/offset test in 040 and 041 2014-11-03 11:41:48 +00:00
041.out mirror: Fix qiov size for short requests 2014-07-07 09:15:29 +02:00
042
042.out
043 qemu-iotests: change _supported_proto to file for various tests 2014-02-09 09:12:38 +01:00
043.out
044
044.out qcow2: Don't rely on free_cluster_index in alloc_refcount_block() (CVE-2014-0147) 2014-04-01 15:21:03 +02:00
045
045.out
046 qcow2: Set zero flag for discarded clusters 2014-02-21 21:02:21 +01:00
046.out qemu-iotests: Filter out 'qemu-io> ' prompt 2013-11-29 17:41:13 +01:00
047
047.out qemu-iotests: Filter out 'qemu-io> ' prompt 2013-11-29 17:41:13 +01:00
048 qemu-iotests: Use qemu-io -f $IMGFMT 2014-12-10 10:31:12 +01:00
048.out qemu-iotests: Split qcow2 only cases in 048 2013-12-04 14:31:39 +01:00
049
049.out qapi: introduce PreallocMode and new PreallocModes full and falloc. 2014-09-12 15:43:06 +02:00
050
050.out
051 block: Catch simultaneous usage of options and their aliases 2014-09-25 15:24:14 +02:00
051.out block/qapi: Add cache information to query-block 2014-12-10 10:31:09 +01:00
052 qemu-iotests: Fix supported cache modes for 052 2014-10-03 10:30:33 +01:00
052.out
053
053.out
054 iotests: Use $PYTHON for Python scripts 2014-06-27 20:00:00 +02:00
054.out
055 qemu-iotests: Add qemu-io format option in Python tests 2014-12-10 10:31:12 +01:00
055.out
056 qemu-iotests: Improve and make use of QMPTestCase.wait_until_completed() 2014-04-25 18:05:05 +02:00
056.out
057
057.out
058 qemu-iotests: Use qemu-io -f $IMGFMT 2014-12-10 10:31:12 +01:00
058.out qemu-iotests: add test for snapshot in qemu-img convert 2013-12-04 15:19:00 +01:00
059 qemu-iotests: Add data pattern in version3 VMDK sample image in 059 2014-08-15 15:07:13 +02:00
059.out qemu-iotests: Add data pattern in version3 VMDK sample image in 059 2014-08-15 15:07:13 +02:00
060 iotests: qemu-img info output for corrupt image 2014-10-04 19:18:17 +01:00
060.out iotests: Fix test outputs 2014-10-23 15:34:01 +02:00
061 iotests: Expand test 061 2014-11-03 11:41:49 +00:00
061.out iotests: Expand test 061 2014-11-03 11:41:49 +00:00
062
062.out
063 qemu-iotests: change _supported_proto to file for various tests 2014-02-09 09:12:38 +01:00
063.out
064 block: qemu-iotests for vhdx, add write test support 2013-11-07 13:58:59 +01:00
064.out block: qemu-iotests for vhdx, add write test support 2013-11-07 13:58:59 +01:00
065 qapi: Add corrupt field to ImageInfoSpecificQCow2 2014-10-04 19:18:17 +01:00
065.out
066
066.out
067 iotests: Use -qmp-pretty in 067 2014-12-10 10:25:30 +01:00
067.out block/qapi: Add cache information to query-block 2014-12-10 10:31:09 +01:00
068
068.out
069 block: delete cow block driver 2014-09-22 11:39:45 +01:00
069.out block: Print its file name if backing file opening failed 2013-11-14 13:09:06 +01:00
070 iotests: Use _img_info 2014-10-04 19:18:17 +01:00
070.out iotests: Use _img_info 2014-10-04 19:18:17 +01:00
071 qemu-iotests: Use qemu-io -f $IMGFMT 2014-12-10 10:31:12 +01:00
071.out qemu-iotests: Use qemu-io -f $IMGFMT 2014-12-10 10:31:12 +01:00
072 block: delete cow block driver 2014-09-22 11:39:45 +01:00
072.out iotests: Test file format nesting 2014-01-22 12:07:18 +01:00
073 qemu-iotests: Test qcow2 count_contiguous_clusters() 2013-11-15 13:37:43 +01:00
073.out qemu-iotests: Test qcow2 count_contiguous_clusters() 2013-11-15 13:37:43 +01:00
074 qemu-iotests: Split qcow2 only cases in 048 2013-12-04 14:31:39 +01:00
074.out qemu-iotests: Split qcow2 only cases in 048 2013-12-04 14:31:39 +01:00
075 block: qemu-iotests change _supported_proto to file once more. 2014-10-23 15:34:01 +02:00
075.out block/cloop: fix offsets[] size off-by-one 2014-04-01 13:59:47 +02:00
076 iotests: add v2 parallels sample image and simple test for it 2014-11-03 09:48:41 +00:00
076.out iotests: add v2 parallels sample image and simple test for it 2014-11-03 09:48:41 +00:00
077 qemu-iotests: Use qemu-io -f $IMGFMT 2014-12-10 10:31:12 +01:00
077.out qemu-iotests: Test pwritev RMW logic 2014-01-24 17:40:25 +01:00
078 block: qemu-iotests change _supported_proto to file once more. 2014-10-23 15:34:01 +02:00
078.out bochs: Fix catalog size check 2014-04-11 13:59:49 +02:00
079 block: qemu-iotests change _supported_proto to file once more. 2014-10-23 15:34:01 +02:00
079.out qemu-iotests: add test for qcow2 preallocation with different cluster sizes 2014-02-09 09:12:39 +01:00
080 qcow2: Fix header extension size check 2014-12-10 10:31:13 +01:00
080.out qcow2: Fix header extension size check 2014-12-10 10:31:13 +01:00
081 qemu-iotests: Use qemu-io -f $IMGFMT 2014-12-10 10:31:12 +01:00
081.out qemu-iotests: Use qemu-io -f $IMGFMT 2014-12-10 10:31:12 +01:00
082 block: qemu-iotests change _supported_proto to file once more. 2014-10-23 15:34:01 +02:00
082.out qapi: Add corrupt field to ImageInfoSpecificQCow2 2014-10-04 19:18:17 +01:00
083 iotests: Fix 083 for out-of-tree builds 2014-06-27 20:00:01 +02:00
083.out qemu-iotests: add 083 NBD client disconnect tests 2014-03-14 16:29:02 +01:00
084 block/vdi: Limit maximum size even futher 2014-11-09 23:39:50 +01:00
084.out block/vdi: Limit maximum size even futher 2014-11-09 23:39:50 +01:00
085 block: qemu-iotests - update 085 to use common.qemu 2014-05-09 20:57:32 +02:00
085.out block: qemu-iotests 085 - live snapshots tests 2014-03-07 11:36:12 +01:00
086 block: qemu-iotests change _supported_proto to file once more. 2014-10-23 15:34:01 +02:00
086.out qemu-iotests: Test progress output for conversion 2014-03-05 15:58:32 +01:00
087 qemu-iotests: Test missing "driver" key for blockdev-add 2014-09-26 13:14:11 -04:00
087.out Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging 2014-09-29 18:18:29 +01:00
088 block: qemu-iotests change _supported_proto to file once more. 2014-10-23 15:34:01 +02:00
088.out vpc: Validate block size (CVE-2014-0142) 2014-04-01 13:59:47 +02:00
089 qemu-iotests: Use qemu-io -f $IMGFMT 2014-12-10 10:31:12 +01:00
089.out qapi: Add corrupt field to ImageInfoSpecificQCow2 2014-10-04 19:18:17 +01:00
090 block: qemu-iotests change _supported_proto to file once more. 2014-10-23 15:34:01 +02:00
090.out iotests: Discarding compressed clusters on qcow2 2014-04-29 16:39:51 +02:00
091 qemu-iotests: Handle cache mode option in 091 2014-05-28 14:22:25 +02:00
091.out block: qemu-iotests - test for live migration 2014-05-09 20:57:32 +02:00
092 block: qemu-iotests change _supported_proto to file once more. 2014-10-23 15:34:01 +02:00
092.out qcow1: Stricter backing file length check 2014-05-19 11:36:49 +02:00
095 iotests: Use _img_info 2014-10-04 19:18:17 +01:00
095.out iotests: Use _img_info 2014-10-04 19:18:17 +01:00
097 iotests: Add test for backing-chain commits 2014-11-03 11:41:48 +00:00
097.out iotests: Add test for backing-chain commits 2014-11-03 11:41:48 +00:00
098 iotests: Add test for qcow2's bdrv_make_empty 2014-11-03 11:41:48 +00:00
098.out iotests: Add test for qcow2's bdrv_make_empty 2014-11-03 11:41:48 +00:00
099 iotests: Plain blkdebug filename generation 2014-12-10 10:31:11 +01:00
099.out iotests: Plain blkdebug filename generation 2014-12-10 10:31:11 +01:00
100 qemu-iotests: add multiwrite test cases 2014-08-29 14:10:15 +01:00
100.out qemu-iotests: add multiwrite test cases 2014-08-29 14:10:15 +01:00
101 qemu-iotests: add test case 101 for short file I/O 2014-08-22 11:01:12 +02:00
101.out qemu-iotests: add test case 101 for short file I/O 2014-08-22 11:01:12 +02:00
102 iotests: Add test for external image truncation 2014-11-03 11:41:47 +00:00
102.out iotests: Add test for external image truncation 2014-11-03 11:41:47 +00:00
103 block: qemu-iotests change _supported_proto to file once more. 2014-10-23 15:34:01 +02:00
103.out iotests: Add test for qcow2's cache options 2014-08-20 11:51:28 +02:00
104 block: round up file size to nearest sector 2014-09-12 15:43:06 +02:00
104.out block: round up file size to nearest sector 2014-09-12 15:43:06 +02:00
105 vmdk: Fix integer overflow in offset calculation 2014-10-03 10:30:33 +01:00
105.out vmdk: Fix integer overflow in offset calculation 2014-10-03 10:30:33 +01:00
107 block: qemu-iotest 107 supports NFS 2014-11-03 11:41:48 +00:00
107.out iotests: Add test for qcow2 L1 table update 2014-10-23 15:34:02 +02:00
108 iotests: Add test for potentially damaging repairs 2014-10-23 15:34:01 +02:00
108.out iotests: Add test for potentially damaging repairs 2014-10-23 15:34:01 +02:00
109 qemu-iotests: Test writing non-raw image headers to raw image 2014-12-10 10:31:13 +01:00
109.out qemu-iotests: Test writing non-raw image headers to raw image 2014-12-10 10:31:13 +01:00
111 iotests: Add test for non-existing backing file 2014-11-06 12:45:47 +01:00
111.out iotests: Add test for non-existing backing file 2014-11-06 12:45:47 +01:00
COPYING
Makefile
README
check iotests: Use $PYTHON for Python scripts 2014-06-27 20:00:00 +02:00
common qemu-iotests: Use qemu-io -f $IMGFMT 2014-12-10 10:31:12 +01:00
common.config tests: Use "command -v" instead of which(1) in shell scripts 2014-12-10 10:31:12 +01:00
common.filter iotests: _filter_qmp for pretty JSON output 2014-12-10 10:25:30 +01:00
common.pattern block: qemu-iotests, add quotes to $TEST_IMG usage io pattern tests 2013-11-07 13:53:31 +01:00
common.qemu qemu-iotests: Fix stderr handling in common.qemu 2014-12-10 10:31:13 +01:00
common.rc qemu-iotests: Fix 028 reference output for qed 2014-08-20 11:51:28 +02:00
group qemu-iotests: Test writing non-raw image headers to raw image 2014-12-10 10:31:13 +01:00
iotests.py iotests: Omit length/offset test in 040 and 041 2014-11-03 11:41:48 +00:00
nbd-fault-injector.py tests: add nbd-fault-injector.py utility 2014-03-14 16:28:28 +01:00
qcow2.py qcow2: Fix error path for unknown incompatible features 2014-07-18 13:12:15 +01:00
qed.py
socket_scm_helper.c iotests: Send the correct fd in socket_scm_helper 2014-09-12 10:27:54 +02:00

README

=== 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@savannah.nongnu.org.