Go to file
aliguori 641636d19e qcow2 corruption: Fix alloc_cluster_link_l2 (Kevin Wolf)
This patch fixes a qcow2 corruption bug introduced in SVN Rev 5861. L2 tables
are big endian, so entries must be converted before being passed to functions.

This bug is easy to trigger. The following script will create and destroy a
qcow2 image (the header is gone after three loop iterations):

    #!/bin/bash
    qemu-img create -f qcow2 test.qcow 1M
    for i in $(seq 1 10); do
    qemu-system-x86_64 -hda test.qcow -monitor stdio > /dev/null 2>&1 <<EOF
    savevm test-$i
    quit
    EOF
    done

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7165 c046a42c-6fe2-441c-8c8c-71466251a162
2009-04-17 20:44:06 +00:00
audio Support for DragonFly BSD (Hasso Tepper) 2009-03-07 20:06:23 +00:00
bsd-user BSD user: initial support for i386 and x86_64 targets 2009-04-11 11:09:31 +00:00
darwin-user Add new command line option -singlestep for tcg single stepping. 2009-04-05 20:08:59 +00:00
fpu Fix OpenSolaris gcc4 warnings: iovec type mismatches, missing 'static' 2009-04-13 16:31:01 +00:00
gdb-xml Work around QEMU GDB stub suboptimality 2009-03-07 22:00:56 +00:00
hw qemu: Add support for SMBIOS command line otions (Alex Williamson) 2009-04-17 18:59:56 +00:00
keymaps Fix fr-be keymap 2009-02-09 23:19:44 +00:00
linux-user linux-user: fix inotify syscalls 2009-04-17 13:50:32 +00:00
pc-bios qemu: Add support for SMBIOS command line otions (Alex Williamson) 2009-04-17 18:59:56 +00:00
slirp Fix some win32 compile warnings 2009-04-05 18:03:31 +00:00
target-alpha target-alpha: fix emulation of ecb 2009-04-15 14:43:11 +00:00
target-arm target-arm: don't use T[x] in helper 2009-04-07 22:48:36 +00:00
target-cris Add new command line option -singlestep for tcg single stepping. 2009-04-05 20:08:59 +00:00
target-i386 Add new command line option -singlestep for tcg single stepping. 2009-04-05 20:08:59 +00:00
target-m68k Add new command line option -singlestep for tcg single stepping. 2009-04-05 20:08:59 +00:00
target-mips Revert "target-mips: fix call to check_*() functions" 2009-04-17 13:17:26 +00:00
target-ppc target-ppc: mark a few helpers TCG_CALL_CONST and/or TCG_CALL_PURE 2009-04-16 12:57:58 +00:00
target-sh4 Add new command line option -singlestep for tcg single stepping. 2009-04-05 20:08:59 +00:00
target-sparc Add new command line option -singlestep for tcg single stepping. 2009-04-05 20:08:59 +00:00
tcg tcg: make sure NDEBUG is defined before including <assert.h> 2009-04-16 09:58:30 +00:00
tests target-alpha: overflow condition for sublv and subqv 2009-04-10 21:27:15 +00:00
.gitignore Extend gitignore (Jan Kiszka) 2009-01-22 17:15:25 +00:00
a.out.h Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
acl.c Remove tabs introduced from VNC ACL series 2009-03-06 20:27:40 +00:00
acl.h Support ACLs for controlling VNC access ("Daniel P. Berrange") 2009-03-06 20:27:37 +00:00
aes.c Delete some unused macros detected with -Wp,-Wunused-macros use 2009-03-16 16:33:01 +00:00
aes.h AES crypto support 2004-08-01 21:54:53 +00:00
aio.c toplevel: remove error handling from qemu_malloc() callers (Avi Kivity) 2009-02-05 22:06:18 +00:00
alpha-dis.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
alpha.ld alpha support 2003-04-29 20:53:42 +00:00
arm-dis.c clean build: Fix arm build warnings 2009-03-07 21:48:00 +00:00
arm-semi.c Fix more FSF addresses 2009-01-05 18:11:53 +00:00
arm.ld Link ARM prologue closer to code segment to avoid a build failure 2008-07-10 17:21:31 +00:00
balloon.h Add missing file from previous commit. 2008-12-04 20:35:16 +00:00
block_int.h push down vector linearization to posix-aio-compat.c (Christoph Hellwig) 2009-04-07 18:43:24 +00:00
block-bochs.c Use C99 initializers for BlockDriver methods 2009-03-07 22:00:29 +00:00
block-cloop.c Use C99 initializers for BlockDriver methods 2009-03-07 22:00:29 +00:00
block-cow.c Fix OpenSolaris gcc4 warnings: iovec type mismatches, missing 'static' 2009-04-13 16:31:01 +00:00
block-dmg.c Use C99 initializers for BlockDriver methods 2009-03-07 22:00:29 +00:00
block-nbd.c Use C99 initializers for BlockDriver methods 2009-03-07 22:00:29 +00:00
block-parallels.c Use C99 initializers for BlockDriver methods 2009-03-07 22:00:29 +00:00
block-qcow2.c qcow2 corruption: Fix alloc_cluster_link_l2 (Kevin Wolf) 2009-04-17 20:44:06 +00:00
block-qcow.c Fix OpenSolaris gcc4 warnings: iovec type mismatches, missing 'static' 2009-04-13 16:31:01 +00:00
block-raw-posix.c push down vector linearization to posix-aio-compat.c (Christoph Hellwig) 2009-04-07 18:43:24 +00:00
block-raw-win32.c more BlockDriver C99 initializers (Christoph Hellwig) 2009-04-07 18:23:51 +00:00
block-vmdk.c Use C99 initializers for BlockDriver methods 2009-03-07 22:00:29 +00:00
block-vpc.c block-vpc: Don't silently create smaller image than requested 2009-04-15 14:42:46 +00:00
block-vvfat.c Fix OpenSolaris gcc4 warnings: iovec type mismatches, missing 'static' 2009-04-13 16:31:01 +00:00
block.c Fix OpenSolaris gcc4 warnings: iovec type mismatches, missing 'static' 2009-04-13 16:31:01 +00:00
block.h remove bdrv_aio_read/bdrv_aio_write (Christoph Hellwig) 2009-04-07 18:43:20 +00:00
bswap.h Sparse fixes: truncation by cast 2009-03-07 15:46:23 +00:00
bt-host.c Fix OpenSolaris gcc4 warnings: iovec type mismatches, missing 'static' 2009-04-13 16:31:01 +00:00
bt-host.h Clean build: Add bt-host.h 2009-03-10 21:43:35 +00:00
bt-vhci.c Sparse fixes: NULL use, header order, ANSI prototypes, static 2009-03-07 15:32:56 +00:00
buffered_file.c toplevel: remove error handling from qemu_malloc() callers (Avi Kivity) 2009-02-05 22:06:18 +00:00
buffered_file.h Introduce a buffered file wrapper for QEMUFile 2008-10-13 03:10:22 +00:00
cache-utils.c Properly initialize len argument of sysctl and include stdio.h (perror) 2009-02-04 20:39:09 +00:00
cache-utils.h Remove all traces of __powerpc__ 2009-01-14 18:39:49 +00:00
Changelog Update Changelog to reflect 0.10.2 release 2009-04-07 02:19:41 +00:00
cmd.c Fix a few Sparse warnings 2009-04-07 17:57:09 +00:00
cmd.h Fix a few Sparse warnings 2009-04-07 17:57:09 +00:00
cocoa.m Update cocoa.m to match new DisplayState code (Samuel Benson) 2009-03-04 19:25:22 +00:00
CODING_STYLE Remove potentially offensive humor. 2009-04-07 02:10:16 +00:00
configure linux-user: fix inotify syscalls 2009-04-17 13:50:32 +00:00
console.c Delete some unused macros detected with -Wp,-Wunused-macros use 2009-03-16 16:33:01 +00:00
console.h DisplayAllocator interface (Stefano Stabellini) 2009-03-13 15:02:13 +00:00
COPYING COPYING: update from FSF 2008-10-12 17:54:42 +00:00
COPYING.LIB Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
cpu-all.h Implement dynamic guest ram allocation. 2009-04-11 17:15:54 +00:00
cpu-defs.h The _exit syscall is used for both thread termination in NPTL applications, 2009-03-07 15:24:59 +00:00
cpu-exec.c BSD user: add support for OpenBSD/amd64 host 2009-04-10 13:00:29 +00:00
cris-dis.c toplevel: remove error handling from qemu_malloc() callers (Avi Kivity) 2009-02-05 22:06:18 +00:00
curses_keys.h Sparse fixes: remove duplicate entry 2009-03-07 15:53:15 +00:00
curses.c DisplayAllocator interface (Stefano Stabellini) 2009-03-13 15:02:13 +00:00
cutils.c add qemu_iovec_init_external (Christoph Hellwig) 2009-03-28 17:46:10 +00:00
d3des.c Ansify to please sparse 2008-10-27 19:49:12 +00:00
d3des.h Actually add d3des implementation files. 2007-08-25 02:09:50 +00:00
def-helper.h Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
device_tree.c Wean device tree code off phys_ram_base. 2009-04-10 16:23:59 +00:00
device_tree.h Wean device tree code off phys_ram_base. 2009-04-10 16:23:59 +00:00
dis-asm.h Update ppc-dis.c from binutils 2.17 2009-02-09 19:58:22 +00:00
disas.c monitor: Rework API (Jan Kiszka) 2009-03-05 23:01:23 +00:00
disas.h monitor: Rework API (Jan Kiszka) 2009-03-05 23:01:23 +00:00
dma-helpers.c Fix a few Sparse warnings 2009-04-07 17:57:09 +00:00
dma.h Implement cancellation method for dma async I/O (Avi Kivity) 2009-03-20 18:26:07 +00:00
dyngen-exec.h Use stdint.h for integral data types and definitions 2009-04-08 22:56:19 +00:00
elf_ops.h Make the ELF loader aware of backwards compatibility 2009-03-13 21:16:24 +00:00
elf.h Fix most warnings that would be caused by gcc flag -Wundef 2008-09-06 17:47:39 +00:00
exec-all.h Implement dynamic guest ram allocation. 2009-04-11 17:15:54 +00:00
exec.c Implement dynamic guest ram allocation. 2009-04-11 17:15:54 +00:00
feature_to_c.sh Fix undeclared symbol warnings from sparse 2008-10-26 13:43:07 +00:00
gdbstub.c Fix ppc-softmmu warnings on OpenBSD host 2009-04-13 16:06:19 +00:00
gdbstub.h Guest debugging support for KVM (Jan Kiszka) 2009-03-12 20:12:48 +00:00
gen-icount.h Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
host-utils.c Code used by the linux-user targets should not use vl.h. 2007-11-05 13:01:41 +00:00
host-utils.h Include <strings.h> for ffs(). 2008-11-12 17:18:41 +00:00
hostregs_helper.h Prune unused AREGs 2009-03-08 12:41:36 +00:00
hpet.h Add a local copy of hpet.h. 2007-09-16 20:03:23 +00:00
hppa-dis.c HPPA (PA-RISC) host support 2008-04-12 20:14:54 +00:00
hppa.ld HPPA (PA-RISC) host support 2008-04-12 20:14:54 +00:00
hxtool Fix hxtool eating backslash sequences for sh != bash 2009-03-29 10:50:43 +00:00
i386-dis.c Update i386-dis.c from commits before GPLv3 switch 2009-03-07 16:57:53 +00:00
i386.ld Add TLS sections. 2008-05-31 16:21:33 +00:00
ia64.ld ia64 host support (David Mosberger) 2005-04-07 22:20:31 +00:00
keymaps.c Refactor keymap code to avoid duplication ("Daniel P. Berrange") 2009-03-06 20:27:10 +00:00
keymaps.h Add missing file from previous commit 2009-03-06 22:47:54 +00:00
kqemu.c Implement dynamic guest ram allocation. 2009-04-11 17:15:54 +00:00
kqemu.h kqemu API change - allow use of kqemu with 32 bit QEMU on a 64 bit host 2008-05-30 20:48:25 +00:00
kvm-all.c kvm: improve handling of overlapping slots (Jan Kiszka) 2009-04-17 14:26:33 +00:00
kvm.h kvm: Add sanity checks to slot management (Jan Kiszka) 2009-04-17 14:26:29 +00:00
libfdt_env.h Implement device tree support needed for Bamboo emulation 2008-12-16 10:43:48 +00:00
LICENSE Add missing newline at the end of file 2008-12-14 08:50:18 +00:00
loader.c Delete some unused macros detected with -Wp,-Wunused-macros use 2009-03-16 16:33:01 +00:00
m68k-dis.c Spelling and grammar fixes 2008-11-30 16:25:37 +00:00
m68k-semi.c Fix more FSF addresses 2009-01-05 18:11:53 +00:00
m68k.ld m68k host port (Richard Zidlicky) 2003-08-10 22:14:22 +00:00
MAINTAINERS Update maintainers list. 2008-08-25 22:26:03 +00:00
Makefile Make the sed script also work with OpenBSD and OpenSolaris seds 2009-04-17 20:01:12 +00:00
Makefile.target qemu: Add support for SMBIOS command line otions (Alex Williamson) 2009-04-17 18:59:56 +00:00
migration-exec.c monitor: Decouple terminals (Jan Kiszka) 2009-03-05 23:01:42 +00:00
migration-tcp.c monitor: Decouple terminals (Jan Kiszka) 2009-03-05 23:01:42 +00:00
migration.c propagate error on failed completion (Glauber Costa) 2009-04-05 19:30:33 +00:00
migration.h monitor: Decouple terminals (Jan Kiszka) 2009-03-05 23:01:42 +00:00
mips-dis.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
mips.ld Linker scripts for MIPS hosts. 2007-05-05 19:24:38 +00:00
mipsel.ld Linker scripts for MIPS hosts. 2007-05-05 19:24:38 +00:00
monitor.c Add --with-pkgversion. 2009-04-07 23:17:49 +00:00
monitor.h monitor: Introduce MONITOR_USE_READLINE flag (Jan Kiszka) 2009-03-05 23:01:51 +00:00
nbd.c Fix some win32 compile warnings 2009-04-05 18:03:31 +00:00
nbd.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
net-checksum.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
net.c Free VLANClientState using qemu_free() (Mark McLoughlin) 2009-04-17 17:11:12 +00:00
net.h Introduce VLANClientState::cleanup() (Mark McLoughlin) 2009-04-17 17:11:08 +00:00
osdep.c Fix windows build and clean up use of <windows.h> 2009-03-08 16:26:59 +00:00
osdep.h snapshot subcommand for qemu-img (Kevin Wolf) 2009-01-07 17:40:15 +00:00
pci-ids.txt List virtio console device in pci-ids.txt 2009-01-24 16:37:31 +00:00
posix-aio-compat.c native preadv/pwritev support (Christoph Hellwig) 2009-04-07 18:43:28 +00:00
posix-aio-compat.h push down vector linearization to posix-aio-compat.c (Christoph Hellwig) 2009-04-07 18:43:24 +00:00
ppc64.ld Correct version of Heikki Lindholms ppc64.ld script 2008-08-20 22:39:24 +00:00
ppc-dis.c Update ppc-dis.c from binutils from 4th July, 2007, just before GPLv3 switch 2009-02-09 19:59:57 +00:00
ppc.ld Update ppc.ld to work with newer binutils. 2007-04-28 19:00:30 +00:00
qemu_socket.h Fix windows build and clean up use of <windows.h> 2009-03-08 16:26:59 +00:00
qemu-aio.h Refactor AIO to allow multiple AIO implementations 2008-09-22 19:17:18 +00:00
qemu-binfmt-conf.sh Code provision for n32/n64 mips userland emulation. Not functional yet. 2007-09-30 01:58:33 +00:00
qemu-char.c Fix OpenSolaris gcc4 warnings: iovec type mismatches, missing 'static' 2009-04-13 16:31:01 +00:00
qemu-char.h monitor: Improve mux'ed console experience (Jan Kiszka) 2009-03-05 23:01:47 +00:00
qemu-common.h add qemu_iovec_init_external (Christoph Hellwig) 2009-03-28 17:46:10 +00:00
qemu-doc.texi Add new command line option -singlestep for tcg single stepping. 2009-04-05 20:08:59 +00:00
qemu-img.c block-vpc: Don't silently create smaller image than requested 2009-04-15 14:42:46 +00:00
qemu-img.texi qemu-img: adding a "-F base_fmt" option to "qemu-img create -b" (Uri Lublin) 2009-03-28 17:55:19 +00:00
qemu-io.c Add files not included in previous commit. 2009-04-05 19:14:04 +00:00
qemu-lock.h Remove all traces of __powerpc__ 2009-01-14 18:39:49 +00:00
qemu-log.h Define macros that will become the new logging API (Eduardo Habkost) 2009-01-15 21:52:11 +00:00
qemu-malloc.c Fix qemu_realloc() (Kevin Wolf) 2009-02-11 21:00:32 +00:00
qemu-nbd.c toplevel: remove error handling from qemu_malloc() callers (Avi Kivity) 2009-02-05 22:06:18 +00:00
qemu-nbd.texi Fix formatting of documentation (Stefan Weil) 2008-09-22 20:41:57 +00:00
qemu-options.hx qemu: Add support for SMBIOS command line otions (Alex Williamson) 2009-04-17 18:59:56 +00:00
qemu-sockets.c Fix some more warnings 2009-01-14 18:34:22 +00:00
qemu-tech.texi Update (thanks to Edgar, Thiemo, malc, Paul, Laurent and Andrzej) 2008-10-09 18:52:04 +00:00
qemu-timer.h Break up vl.h. 2007-11-17 17:14:51 +00:00
qemu-tool.c monitor: Rework API (Jan Kiszka) 2009-03-05 23:01:23 +00:00
qemu.sasl Add SASL authentication support ("Daniel P. Berrange") 2009-03-06 20:27:28 +00:00
readline.c monitor: Provide empty command as final history entry (Jan Kiszka) 2009-03-13 15:02:28 +00:00
readline.h monitor: Improve mux'ed console experience (Jan Kiszka) 2009-03-05 23:01:47 +00:00
README Add missing newline at the end of file 2008-12-14 08:50:18 +00:00
rules.mak build system: Further improve quiet mode (Jan Kiszka) 2009-01-26 17:07:46 +00:00
s390-dis.c Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
s390.ld Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
savevm.c Add unregister_savevm() (Mark McLoughlin) 2009-04-17 17:10:59 +00:00
sdl_keysym.h Refactor keymap code to avoid duplication ("Daniel P. Berrange") 2009-03-06 20:27:10 +00:00
sdl.c Recognise evdev(xx)_aliases(yy) and xfree86(xx)_aliases(yy) as keymap names. 2009-04-13 11:33:46 +00:00
sh4-dis.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
softmmu_defs.h Fix some warnings that would be generated by gcc -Wredundant-decls 2008-08-30 09:51:20 +00:00
softmmu_exec.h Allow 5 mmu indexes. 2009-04-07 21:47:27 +00:00
softmmu_header.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
softmmu_template.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
softmmu-semi.h Suppress gcc 4.x -Wpointer-sign (included in -Wall) warnings 2008-09-20 08:07:15 +00:00
sparc64.ld Map code buffers below 2G on Sparc64 2008-07-26 15:05:57 +00:00
sparc-dis.c Make OpenBSD sparc-softmmu compile warning free 2009-01-14 18:08:08 +00:00
sparc.ld More detabification 2007-10-06 11:28:21 +00:00
sys-queue.h Remove CRs 2008-12-14 08:53:17 +00:00
sysemu.h qemu: Add prototype and make qemu_uuid_parse() non-static (Alex Williamson) 2009-04-17 18:58:14 +00:00
tap-win32.c Introduce VLANClientState::cleanup() (Mark McLoughlin) 2009-04-17 17:11:08 +00:00
texi2pod.pl Update texi2pod.pl. 2008-02-04 14:47:49 +00:00
thunk.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
thunk.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
TODO Update 2008-12-04 11:29:42 +00:00
translate-all.c global s/loglevel & X/qemu_loglevel_mask(X)/ (Eduardo Habkost) 2009-01-15 22:36:53 +00:00
uboot_image.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
usb-bsd.c Support for DragonFly BSD (Hasso Tepper) 2009-03-07 20:06:23 +00:00
usb-linux.c monitor: Rework API (Jan Kiszka) 2009-03-05 23:01:23 +00:00
usb-stub.c monitor: Rework API (Jan Kiszka) 2009-03-05 23:01:23 +00:00
VERSION Update the version information to 0.10.50 to signify development branch 2009-04-08 13:14:12 +00:00
vgafont.h Some little fixes on QEMU 2008-09-06 16:31:30 +00:00
vl.c qemu: Add support for SMBIOS command line otions (Alex Williamson) 2009-04-17 18:59:56 +00:00
vnc_keysym.h Refactor keymap code to avoid duplication ("Daniel P. Berrange") 2009-03-06 20:27:10 +00:00
vnc-auth-sasl.c Remove tabs introduced from VNC ACL series 2009-03-06 20:27:40 +00:00
vnc-auth-sasl.h Support ACLs for controlling VNC access ("Daniel P. Berrange") 2009-03-06 20:27:37 +00:00
vnc-auth-vencrypt.c Add more missing files 2009-03-06 23:44:29 +00:00
vnc-auth-vencrypt.h Add more missing files 2009-03-06 23:44:29 +00:00
vnc-tls.c Add more missing files 2009-03-06 23:44:29 +00:00
vnc-tls.h Add more missing files 2009-03-06 23:44:29 +00:00
vnc.c vnc: Fix incorrect attempt to clear a flag 2009-04-07 19:57:09 +00:00
vnc.h vnc: throttle screen updates. (Gerd Hoffmann) 2009-03-20 15:59:24 +00:00
vnchextile.h vnc: cleanup surface handling, fix screen corruption bug. (Gerd Hoffmann) 2009-03-20 15:59:14 +00:00
x86_64.ld update 2005-01-06 20:50:00 +00:00
x_keymap.c Fix SDL on evdev hosts (Anthony Liguori) 2009-03-03 17:37:21 +00:00
x_keymap.h Fix SDL on evdev hosts (Anthony Liguori) 2009-03-03 17:37:21 +00:00

Read the documentation in qemu-doc.html.

Fabrice Bellard.