• D
    qcow2: fix encryption during cow of sectors · f9856029
    Daniel P. Berrange 提交于
    Broken in previous commit:
    
      commit aaa4d20b
      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: NDaniel P. Berrange <berrange@redhat.com>
    Signed-off-by: NKevin Wolf <kwolf@redhat.com>
    (cherry picked from commit bb9f8dd0)
    Conflicts:
    	tests/qemu-iotests/group
    
    * drop context dependancy on non-2.7 iotest groups
    Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
    f9856029
group 2.8 KB