QEMU With E2K User Support
Go to file
Paolo Bonzini bae0a0cc38 vmdk: clean up open
Move vmdk_parent_open to vmdk_open.  There's another path how
vmdk_parent_open can be reached:

  vmdk_parse_extents() ->  vmdk_open_sparse() ->  vmdk_open_vmdk4() ->
  vmdk_open_desc_file().

If that can happen, however, the code is bogus.  vmdk_parent_open
reads from bs->file:

    if (bdrv_pread(bs->file, s->desc_offset, desc, DESC_SIZE) != DESC_SIZE) {

but it is always called with s->desc_offset == 0 and with the same
bs->file.  So the data that vmdk_parent_open reads comes always from the
same place, and anyway there is only one place where it can write it,
namely bs->backing_file.

So, if it cannot happen, the patched code is okay.

It is also possible that the recursive call can happen, but only once.  In
that case there would still be a bug in vmdk_open_desc_file setting
s->desc_offset = 0, but the patched code is okay.

Finally, in the case where multiple recursive calls can happen the code
would need to be rewritten anyway.  It is likely that this would anyway
involve adding several parameters to vmdk_parent_open, and calling it from
vmdk_open_vmdk4.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2011-10-21 17:34:13 +02:00
audio Merge remote-tracking branch 'qmp/queue/qmp' into staging 2011-09-20 15:16:00 -05:00
block vmdk: clean up open 2011-10-21 17:34:13 +02:00
bsd-user Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
darwin-user Remove blanks before \n in output strings 2011-09-16 08:25:56 -05:00
default-configs i8259: Move to hw library 2011-10-16 11:11:56 +00:00
docs trace: Update docs to use example events that exist 2011-09-21 11:32:37 +01:00
fpu softfloat: Reinstate accidentally disabled target-specific NaN handling 2011-10-01 06:19:07 +00:00
fsdev hw/9pfs: Handle Security model parsing 2011-10-15 15:30:27 +05:30
gdb-xml
hw pc: Fix floppy drives with if=none 2011-10-21 17:34:13 +02:00
libcacard Silence make if nothing is to do for libcacard 2011-09-21 10:49:38 +01:00
linux-headers KVM: Update kernel headers 2011-10-06 09:48:07 +02:00
linux-user linux-user: Remove unused code 2011-10-05 09:26:23 +01:00
net Allow overriding the location of Samba's smbd. 2011-09-03 17:45:48 +00:00
pc-bios target-alpha: Add custom PALcode image for CLIPPER emulation. 2011-10-08 08:46:03 -07:00
qapi qapi: modify visitor code generation for list iteration 2011-10-04 11:00:46 -03:00
qga Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
QMP
roms target-alpha: Add custom PALcode image for CLIPPER emulation. 2011-10-08 08:46:03 -07:00
scripts scripts: Simpletrace log analysis script for pretty-printing 9p log. 2011-10-15 15:30:27 +05:30
slirp slirp: Fix packet expiration 2011-09-28 13:11:30 +02:00
sysconfigs/target
target-alpha target-alpha: Add high-resolution access to wall clock and an alarm. 2011-10-08 08:49:09 -07:00
target-arm Merge remote-tracking branch 'stefanha/trivial-patches' into staging 2011-10-10 08:09:02 -05:00
target-cris softmmu_header: pass CPUState to tlb_fill 2011-10-01 09:31:26 +00:00
target-i386 kvm: support TSC deadline MSR 2011-10-03 13:53:14 -03:00
target-lm32 lm32: add missing qemu_init_vcpu() call 2011-10-03 12:44:22 +02:00
target-m68k softmmu_header: pass CPUState to tlb_fill 2011-10-01 09:31:26 +00:00
target-microblaze softmmu_header: pass CPUState to tlb_fill 2011-10-01 09:31:26 +00:00
target-mips softmmu_header: pass CPUState to tlb_fill 2011-10-01 09:31:26 +00:00
target-ppc PPC: booke timers 2011-10-06 09:48:09 +02:00
target-s390x softmmu_header: pass CPUState to tlb_fill 2011-10-01 09:31:26 +00:00
target-sh4 softmmu_header: pass CPUState to tlb_fill 2011-10-01 09:31:26 +00:00
target-sparc softmmu_header: pass CPUState to tlb_fill 2011-10-01 09:31:26 +00:00
target-unicore32 Use hex instead of binary. 2011-09-09 12:58:16 -05:00
target-xtensa target-xtensa: add fsf core 2011-10-16 10:40:16 +00:00
tcg tcg: Fix spelling in comment (varables -> variables) 2011-10-14 14:39:47 +01:00
tests target-xtensa: rename dc232b board to sim 2011-10-16 10:40:23 +00:00
trace trace: use binary file open mode in simpletrace 2011-09-21 11:30:10 +01:00
ui migration: Export a function that tells if the migration has finished correctly 2011-10-20 13:23:54 +02:00
.gitignore
.gitmodules target-alpha: Add custom PALcode image for CLIPPER emulation. 2011-10-08 08:46:03 -07:00
a.out.h Use new macro QEMU_PACKED for packed structures 2011-09-03 10:45:59 +00:00
acl.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
acl.h
aes.c
aes.h
aio.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
alpha-dis.c
alpha.ld
arch_init.c migration: make *save_live return errors 2011-10-20 13:23:52 +02:00
arch_init.h target-xtensa: add target stubs 2011-09-10 16:57:36 +00:00
arm-dis.c
arm-semi.c
arm.ld Fix linker scripts 2011-08-27 15:42:35 +00:00
async.c async: Allow nested qemu_bh_poll calls 2011-09-06 11:23:51 +02:00
balloon.c balloon: Disassociate handlers from balloon device on unplug 2011-09-09 12:58:16 -05:00
balloon.h balloon: Disassociate handlers from balloon device on unplug 2011-09-09 12:58:16 -05:00
bitmap.c
bitmap.h Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
bitops.c
bitops.h
block_int.h block: add bdrv_co_discard and bdrv_aio_discard support 2011-10-21 17:34:13 +02:00
block-migration.c migration: make *save_live return errors 2011-10-20 13:23:52 +02:00
block-migration.h
block.c block: add bdrv_co_discard and bdrv_aio_discard support 2011-10-21 17:34:13 +02:00
block.h block: add bdrv_co_discard and bdrv_aio_discard support 2011-10-21 17:34:13 +02:00
blockdev.c ide/atapi scsi-disk: Make monitor eject -f, then change work 2011-09-12 15:17:22 +02:00
blockdev.h
bswap.h bswap.h: build fix 2011-09-16 08:26:31 -05:00
bt-host.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
bt-host.h
bt-vhci.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
buffered_file.c migration: use qemu_file_get_error() return value when possible 2011-10-20 13:23:52 +02:00
buffered_file.h
cache-utils.c
cache-utils.h
Changelog
check-qdict.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
check-qfloat.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
check-qint.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
check-qjson.c Fix qjson test of solidus encoding 2011-09-06 10:15:39 -03:00
check-qlist.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
check-qstring.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
cmd.c use qemu_* ctype functions 2011-09-21 11:10:52 +01:00
cmd.h
CODING_STYLE
compatfd.c
compatfd.h
compiler.h Fix and clean code which tests the gcc version 2011-09-23 11:51:05 -05:00
config.h
configure hw/9pfs: Add st_gen support in getattr reply 2011-10-15 15:30:27 +05:30
console.c Fix mismatching allocation and deallocation 2011-10-05 09:23:00 +01:00
console.h curses: fix garbling when chtype != long 2011-09-09 12:58:16 -05:00
COPYING
COPYING.LIB
coroutine-gthread.c Convert last qemu_free and qemu_malloc uses 2011-08-21 18:42:08 +00:00
coroutine-ucontext.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
coroutine-win32.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
cpu-all.h Remove qemu_host_page_bits 2011-09-21 10:50:59 +01:00
cpu-common.h
cpu-defs.h
cpu-exec.c PPC: Fix sync instructions problem in SMP 2011-10-06 09:48:03 +02:00
cpus.c runstate: Allow user to migrate twice 2011-10-19 10:48:57 -02:00
cpus.h Move vm_state_notify() prototype from cpus.h to sysemu.h 2011-09-15 16:39:31 -03:00
cris-dis.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
cursor_hidden.xpm
cursor_left_ptr.xpm
cursor.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
cutils.c Fix up some style nits of last uq/master merge 2011-08-25 09:21:35 +01:00
def-helper.h
device_tree.c device tree: give dt more size 2011-10-06 09:48:01 +02:00
device_tree.h device tree: add add_subnode command 2011-10-06 09:48:00 +02:00
dis-asm.h
disas.c disasm: update comment 2011-08-25 09:21:48 +01:00
disas.h
dma-helpers.c dma-helpers: rewrite completion/cancellation 2011-09-20 12:27:43 +02:00
dma.h dma-helpers: allow including from target-independent code 2011-09-20 12:27:34 +02:00
dyngen-exec.h Move GETPC from dyngen-exec.h to exec-all.h 2011-10-01 09:31:43 +00:00
elf.h target-xtensa: add target stubs 2011-09-10 16:57:36 +00:00
envlist.c
envlist.h
error_int.h
error.c error: let error_is_type take a NULL error 2011-10-04 11:00:46 -03:00
error.h
exec-all.h Move GETPC from dyngen-exec.h to exec-all.h 2011-10-01 09:31:43 +00:00
exec-memory.h
exec.c Move GETPC from dyngen-exec.h to exec-all.h 2011-10-01 09:31:43 +00:00
gdbstub.c Merge remote-tracking branch 'qmp/queue/qmp' into staging 2011-10-10 08:21:46 -05:00
gdbstub.h
gen-icount.h
HACKING Convert last qemu_free and qemu_malloc uses 2011-08-21 18:42:08 +00:00
hmp-commands.hx Merge remote-tracking branch 'qmp/queue/qmp' into staging 2011-10-10 08:21:46 -05:00
hmp.c qapi: Convert system_powerdown 2011-10-04 11:02:57 -03:00
hmp.h qapi: Convert system_powerdown 2011-10-04 11:02:57 -03:00
host-utils.c
host-utils.h Move macro QEMU_GNUC_PREREQ to compiler.h 2011-09-23 11:51:05 -05:00
hppa-dis.c
hppa.ld Fix linker scripts 2011-08-27 15:42:35 +00:00
i386-dis.c
i386.ld Fix linker scripts 2011-08-27 15:42:35 +00:00
ia64-dis.c
ia64.ld
input.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
iohandler.c iohandlers: fix issue with qemu_set_fd_handler() 2011-09-08 08:06:08 -05:00
ioport-user.c
ioport.c Introduce PortioList 2011-10-11 15:57:07 +02:00
ioport.h Introduce PortioList 2011-10-11 15:57:07 +02:00
iorange.h
iov.c
iov.h
json-lexer.c
json-lexer.h
json-parser.c
json-parser.h
json-streamer.c
json-streamer.h
kvm-all.c RunState: Rename enum values as generated by the QAPI 2011-10-04 11:02:57 -03:00
kvm-stub.c
kvm.h
libfdt_env.h
LICENSE
linux-aio.c linux-aio: Allow reads beyond the end of growable images 2011-10-14 10:29:13 +02:00
m68k-dis.c
m68k-semi.c Use new macro QEMU_PACKED for packed structures 2011-09-03 10:45:59 +00:00
m68k.ld
MAINTAINERS Merge remote-tracking branch 'pmaydell/omap-for-upstream' into staging 2011-09-26 08:00:00 -05:00
Makefile Merge remote-tracking branch 'qmp/queue/qmp' into staging 2011-10-10 08:21:46 -05:00
Makefile.dis
Makefile.hw Makefile.hw: allow hw/ files to include glib headers 2011-09-04 17:46:51 +03:00
Makefile.objs Merge remote-tracking branch 'aneesh/for-upstream-6' into staging 2011-10-20 08:42:08 -05:00
Makefile.target i8259: Move to hw library 2011-10-16 11:11:56 +00:00
Makefile.user build: Move tracing objects into libuser on usermode emulation targets 2011-09-16 08:25:56 -05:00
memory.c memory: Fix old portio word accesses 2011-10-11 15:57:09 +02:00
memory.h memory: simple memory tree printer 2011-10-02 16:27:13 +02:00
microblaze-dis.c
migration-exec.c migration: move migrate_new to do_migrate 2011-10-20 13:23:53 +02:00
migration-fd.c migration: move migrate_new to do_migrate 2011-10-20 13:23:53 +02:00
migration-tcp.c migration: make migration-{tcp,unix} consistent 2011-10-20 13:23:55 +02:00
migration-unix.c migration: make migration-{tcp,unix} consistent 2011-10-20 13:23:55 +02:00
migration.c Merge remote-tracking branch 'quintela/migration-pull' into staging 2011-10-20 08:46:55 -05:00
migration.h migration: Make state definitions local 2011-10-20 13:23:54 +02:00
mips-dis.c Remove blanks before \n in output strings 2011-09-16 08:25:56 -05:00
mips.ld Fix linker scripts 2011-08-27 15:42:35 +00:00
module.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
module.h
monitor.c monitor: Restrict pic/irq_info to supporting targets 2011-10-16 11:11:55 +00:00
monitor.h
nbd.c nbd: fix non-Linux build failure 2011-09-21 11:34:43 +02:00
nbd.h nbd: sync API definitions with upstream 2011-09-19 11:34:33 +02:00
net.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
net.h Allow overriding the location of Samba's smbd. 2011-09-03 17:45:48 +00:00
notify.c
notify.h
os-posix.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
os-win32.c w32: Fix format string regression 2011-08-21 15:33:33 +00:00
osdep.c
osdep.h Move macro QEMU_GNUC_PREREQ to compiler.h 2011-09-23 11:51:05 -05:00
oslib-posix.c add socket_set_block 2011-10-21 17:34:12 +02:00
oslib-win32.c add socket_set_block 2011-10-21 17:34:12 +02:00
path.c
pci-ids.txt
pflib.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
pflib.h
poison.h
posix-aio-compat.c block: avoid SIGUSR2 2011-09-20 14:32:56 +02:00
ppc64.ld ppc64: Fix linker script 2011-10-06 09:48:09 +02:00
ppc-dis.c
ppc.ld Fix linker scripts 2011-08-27 15:42:35 +00:00
qapi-schema-guest.json
qapi-schema-test.json
qapi-schema.json qapi: Convert system_powerdown 2011-10-04 11:02:57 -03:00
qbool.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qbool.h
qdict-test-data.txt
qdict.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qdict.h
qemu_socket.h add socket_set_block 2011-10-21 17:34:12 +02:00
qemu-aio.h
qemu-barrier.h Barriers in qemu-barrier.h should not be x86 specific 2011-09-23 11:51:05 -05:00
qemu-char.c qemu-char: Fix use of free() instead of g_free() 2011-10-14 14:38:13 +01:00
qemu-char.h char: document the functions that will be the public interface 2011-08-22 10:17:44 -05:00
qemu-common.h core: remove qemu_service_io 2011-09-23 10:55:32 -05:00
qemu-config.c hw/9pfs: Rename fstype to fsdriver to make it consistent across VirtFS code 2011-10-15 15:30:27 +05:30
qemu-config.h
qemu-coroutine-int.h
qemu-coroutine-lock.c coroutine: Add CoRwlock support 2011-08-23 14:15:17 +02:00
qemu-coroutine.c
qemu-coroutine.h coroutine: Add CoRwlock support 2011-08-23 14:15:17 +02:00
qemu-doc.texi target-xtensa: update qemu-doc.texi 2011-10-15 21:38:07 +00:00
qemu-error.c
qemu-error.h
qemu-ga.c Fix spelling in comments and debug messages (recieve -> receive) 2011-08-29 11:47:33 +01:00
qemu-img-cmds.hx qemu-img: Require larger zero areas for sparse handling 2011-08-29 14:42:39 +02:00
qemu-img.c qemu-img: Don't allow preallocation and compression at the same time 2011-10-21 17:34:13 +02:00
qemu-img.texi qemu-img: Require larger zero areas for sparse handling 2011-08-29 14:42:39 +02:00
qemu-io.c fix memory leak in aio_write_f 2011-10-21 17:34:12 +02:00
qemu-lock.h
qemu-log.h
qemu-nbd.c nbd: support feature negotiation 2011-09-19 11:34:33 +02:00
qemu-nbd.texi
qemu-objects.h
qemu-option.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qemu-option.h
qemu-options.h
qemu-options.hx Merge remote-tracking branch 'aneesh/for-upstream-6' into staging 2011-10-20 08:42:08 -05:00
qemu-os-posix.h
qemu-os-win32.h
qemu-progress.c
qemu-queue.h
qemu-sockets.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qemu-tech.texi target-xtensa: update qemu-doc.texi 2011-10-15 21:38:07 +00:00
qemu-thread-posix.c Abort on thread layer errors 2011-09-21 10:50:10 +01:00
qemu-thread-posix.h
qemu-thread-win32.c Abort on thread layer errors 2011-09-21 10:50:10 +01:00
qemu-thread-win32.h
qemu-thread.h
qemu-timer-common.c
qemu-timer.c Drop the vm_running global variable 2011-09-15 16:39:32 -03:00
qemu-timer.h
qemu-tool.c core: remove qemu_service_io 2011-09-23 10:55:32 -05:00
qemu-x509.h
qemu.sasl
qerror.c qerror: add qerror_report_err() 2011-10-04 11:00:46 -03:00
qerror.h qerror: add qerror_report_err() 2011-10-04 11:00:46 -03:00
qfloat.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qfloat.h
qint.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qint.h
qjson.c
qjson.h
qlist.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qlist.h
qmp-commands.hx QMP: Fix blockdev-snapshot-sync doc example 2011-10-19 10:39:59 -02:00
qmp.c qapi: Convert system_powerdown 2011-10-04 11:02:57 -03:00
qobject.h
qstring.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qstring.h
range.h
readline.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
readline.h
README
rules.mak build: sort objects to remove duplicates for link 2011-09-01 13:12:51 -05:00
s390-dis.c
s390.ld
savevm.c Merge remote-tracking branch 'quintela/migration-pull' into staging 2011-10-20 08:46:55 -05:00
sh4-dis.c
softmmu_defs.h Document softmmu templates 2011-10-01 09:31:08 +00:00
softmmu_exec.h Document softmmu templates 2011-10-01 09:31:08 +00:00
softmmu_header.h Document softmmu templates 2011-10-01 09:31:08 +00:00
softmmu_template.h softmmu_header: pass CPUState to tlb_fill 2011-10-01 09:31:26 +00:00
softmmu-semi.h
sparc64.ld
sparc-dis.c
sparc.ld Fix linker scripts 2011-08-27 15:42:35 +00:00
spice-qemu-char.c spice-qemu-char.c: Use correct printf format char for ssize_t 2011-09-07 09:20:09 +02:00
sysemu.h runstate: Allow user to migrate twice 2011-10-19 10:48:57 -02:00
targphys.h
tcg-runtime.c
test-coroutine.c
test-qmp-commands.c qapi: add test cases for generated free functions 2011-10-04 11:00:46 -03:00
test-visitor.c qapi: modify visitor code generation for list iteration 2011-10-04 11:00:46 -03:00
thunk.c
thunk.h
TODO
trace-events block: add bdrv_co_discard and bdrv_aio_discard support 2011-10-21 17:34:13 +02:00
translate-all.c
uboot_image.h
usb-bsd.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
usb-linux.c usb-host: handle USBDEVFS_SETCONFIGURATION returning EBUSY 2011-10-13 12:58:51 +02:00
usb-redir.c char: rename qemu_chr_close() -> qemu_chr_delete() 2011-08-22 10:17:43 -05:00
usb-stub.c
user-exec.c
VERSION
version.rc
vgafont.h
vl.c Merge remote-tracking branch 'aneesh/for-upstream-6' into staging 2011-10-20 08:42:08 -05:00
x86_64.ld Fix linker scripts 2011-08-27 15:42:35 +00:00
xen-all.c Drop the vm_running global variable 2011-09-15 16:39:32 -03:00
xen-mapcache.c xen-mapcache: Fix rlimit set size. 2011-09-09 13:13:16 +00:00
xen-mapcache.h
xen-stub.c
xtensa-semi.c target-xtensa: implement SIMCALL 2011-09-10 16:57:39 +00:00

Read the documentation in qemu-doc.html.

Fabrice Bellard.