untrusted comment: verify with openbsd-64-base.pub
RWQq6XmS4eDAcSMu71+f62hjd2l2R7FQY5HWSrvL6BiDGP/GKWcMd2zej4FC12YFfczIKo5IQ1eSWJ/tpdg7QxK9Wv/t1uYF9A8=
OpenBSD 6.4 errata 008, November 29, 2018
Writing more than 4GB to a qcow2 volume corrupts the virtual disk.
Apply by doing:
signify -Vep /etc/signify/openbsd-64-base.pub -x 008_qcow2.patch.sig \
-m - | (cd /usr/src && patch -p0)
Then rebuild and install vmd:
cd usr.sbin/vmd
make obj
make
make install
Index: usr.sbin/vmd/vioqcow2.c
===================================================================
RCS file: /cvs/src/usr.sbin/vmd/vioqcow2.c,v
diff -u -p -r1.8 vioqcow2.c
--- usr.sbin/vmd/vioqcow2.c 8 Oct 2018 16:32:01 -0000 1.8
+++ usr.sbin/vmd/vioqcow2.c 26 Nov 2018 07:03:53 -0000
@@ -78,15 +78,15 @@ struct qcdisk {
int fd;
uint64_t *l1;
off_t end;
- uint32_t clustersz;
+ off_t clustersz;
off_t disksz; /* In bytes */
- uint32_t cryptmethod;
+ uint32_t cryptmethod;
uint32_t l1sz;
off_t l1off;
off_t refoff;
- uint32_t refsz;
+ off_t refsz;
uint32_t nsnap;
off_t snapoff;
@@ -176,7 +176,7 @@ qc2_open(struct qcdisk *disk, int *fds,
struct qcheader header;
uint64_t backingoff;
uint32_t backingsz;
- size_t i;
+ off_t i;
int version, fd;
pthread_rwlock_init(&disk->lock, NULL);