Daniel P. Berrange bb9f8dd0e1 qcow2: fix encryption during cow of sectors
Broken in previous commit:

  commit aaa4d20b4972bb1a811ce929502e6741835d584e
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   Wed Jun 1 15:21:05 2016 +0200

      qcow2: Make copy_sectors() byte based

The copy_sectors() code was originally using the 'sector'
parameter for encryption, which was passed in by the caller
from the QCowL2Meta.offset field (aka the guest logical
offset).

After the change, the code is using 'cluster_offset' which
was passed in from QCow2L2Meta.alloc_offset field (aka the
host physical offset).

This would cause the data to be encrypted using an incorrect
initialization vector which will in turn cause later reads
to return garbage.

Although current qcow2 built-in encryption is blocked from
usage in the emulator, one could still hit this if writing
to the file via qemu-{img,io,nbd} commands.

Cc: qemu-stable@nongnu.org
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2016-09-23 13:36:09 +02:00
..
030
2016-09-05 19:06:47 +02:00
2016-03-28 13:56:44 -04:00
2016-04-15 17:22:11 +02:00
041
2016-09-05 19:06:47 +02:00
044
045
2016-03-30 12:16:03 +02:00
055
2016-09-20 22:12:57 +02:00
2015-01-23 12:41:32 -05:00
2016-02-22 16:54:14 +01:00
074
083
2016-05-12 15:33:23 +02:00
2016-01-07 21:30:17 +01:00
109
2016-08-08 13:05:43 +02:00
2016-08-08 13:05:43 +02:00
2015-12-18 14:36:17 +01:00
118
2016-02-02 17:49:42 +01:00
2016-05-19 16:45:31 +02:00
2016-03-30 12:16:03 +02:00
2016-02-22 09:49:46 +01:00
157
2016-07-13 13:41:39 +02:00
159
2016-09-20 22:10:57 +02:00
2016-09-20 22:10:57 +02:00
160
2016-09-20 22:10:57 +02:00
2016-09-20 22:10:57 +02:00
170
2016-09-20 22:10:57 +02:00
2016-09-20 22:10:57 +02:00
2016-09-20 22:10:57 +02:00
2016-02-16 14:29:27 +00: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.