QEMU With E2K User Support
Go to file
Richard W.M. Jones a2f468e48f curl: Don't deref NULL pointer in call to aio_poll.
In commit 63f0f45f2e the following
mechanical change was made:

         if (!state) {
-            qemu_aio_wait();
+            aio_poll(state->s->aio_context, true);
         }

The new code now checks if state is NULL and then dereferences it
('state->s') which is obviously incorrect.

This commit replaces state->s->aio_context with
bdrv_get_aio_context(bs), fixing this problem.  The two other hunks
are concerned with getting the BlockDriverState pointer bs to where it
is needed.

The original bug causes a segfault when using libguestfs to access a
VMware vCenter Server and doing any kind of complex read-heavy
operations.  With this commit the segfault goes away.

Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Benoît Canet <benoit.canet@nodalink.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2014-08-29 16:19:01 +01:00
audio audio: Drop superfluous conditionals around g_free() 2014-06-13 12:34:54 +02:00
backends hostmem: set MPOL_MF_MOVE 2014-08-20 21:15:56 +02:00
block curl: Don't deref NULL pointer in call to aio_poll. 2014-08-29 16:19:01 +01:00
bsd-user bsd-user: Fix syscall format, add strace support for more syscalls 2014-06-11 00:25:06 +01:00
default-configs pc: implement pc-dimm device abstraction 2014-06-19 16:41:47 +03:00
disas disas/libvixl: prepend the include path of libvixl header files 2014-07-08 12:45:57 +01:00
docs SCSI changes that enable sending vendor-specific commands via virtio-scsi. 2014-08-19 13:00:57 +01:00
dtc@bc895d6d09
fpu fpu: softfloat: drop INLINE macro 2014-06-23 11:00:12 -04:00
fsdev
gdb-xml
hw virtio-blk: allow drive_del with dataplane 2014-08-29 16:01:48 +01:00
include block: Add AIO context notifiers 2014-08-29 10:48:45 +01:00
libcacard vscclient: Add required headers to fix build on FreeBSD 2014-06-24 20:01:24 +04:00
libdecnumber libdecnumber: Fix warnings from smatch (missing static, boolean operations) 2014-08-24 13:21:06 +04:00
linux-headers linux-headers: update linux headers to kvm/next 2014-06-16 13:24:41 +02:00
linux-user linux-user: fix file descriptor leaks 2014-08-24 13:18:28 +04:00
net tap-bsd: implement a FreeBSD only version of tap_open 2014-08-01 15:57:48 +00:00
pc-bios Update OpenBIOS images 2014-08-26 13:52:15 +01:00
pixman@97336fad32
po po: Fix Makefile rules for in-tree builds without configuration 2014-08-24 13:16:42 +04:00
qapi qapi: add read-pattern enum for quorum 2014-08-29 10:46:58 +01:00
qga channel-posix: using qemu_set_nonblock() instead of fcntl(O_NONBLOCK) 2014-08-15 18:03:13 +01:00
qobject json-lexer: fix escaped backslash in single-quoted string 2014-06-23 11:01:24 -04:00
qom qom: object: move unparenting to the child property's release callback 2014-08-17 23:25:24 +02:00
roms Update OpenBIOS images 2014-08-26 13:52:15 +01:00
scripts Mostly bugfixes + Alexey's interface-based implementation 2014-08-28 16:07:23 +01:00
slirp slirp/misc: Use the GLib memory allocation APIs 2014-08-24 13:16:32 +04:00
stubs monitor: fix use after free 2014-08-18 14:39:10 -04:00
sysconfigs/target
target-alpha trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-arm arm: cortex-a9: Fix cache-line size and associativity 2014-08-19 19:02:40 +01:00
target-cris trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-i386 Mostly bugfixes + Alexey's interface-based implementation 2014-08-28 16:07:23 +01:00
target-lm32 trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-m68k trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-microblaze trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-mips trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-moxie softmmu: introduce cpu_ldst.h 2014-06-05 16:10:33 +02:00
target-openrisc trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-ppc spapr: Add support for new NMI interface 2014-08-25 13:25:16 +02:00
target-s390x trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-sh4 trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-sparc target-sparc64: implement Short Floating-Point Store Instructions 2014-08-17 13:24:27 +01:00
target-unicore32 trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-xtensa trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
tcg tcg: dump op count into qemu log 2014-08-24 13:16:32 +04:00
tests qemu-iotests: add multiwrite test cases 2014-08-29 14:10:15 +01:00
trace trace: [tcg] Generate TCG tracing routines 2014-08-12 14:26:12 +01:00
ui spice: don't use 'Yoda conditions' 2014-08-15 18:54:07 +04:00
util util/path: Use the GLib memory allocation routines 2014-08-24 13:16:32 +04:00
.exrc
.gitignore trace: [tcg] Generate TCG tracing routines 2014-08-12 14:26:12 +01:00
.gitmodules PPC: Add u-boot firmware for e500 2014-06-16 13:24:35 +02:00
.mailmap
.travis.yml trace: Multi-backend tracing 2014-06-09 15:43:40 +02:00
aio-posix.c AioContext: introduce aio_prepare 2014-08-29 10:46:58 +01:00
aio-win32.c aio-win32: add support for sockets 2014-08-29 10:46:58 +01:00
arch_init.c Show length mismatch error is hex 2014-08-09 00:06:32 +04:00
async.c AioContext: introduce aio_prepare 2014-08-29 10:46:58 +01:00
balloon.c qapi event: convert BALLOON_CHANGE 2014-06-23 11:12:28 -04:00
block-migration.c block: Use g_new() & friends where that makes obvious sense 2014-08-20 11:51:28 +02:00
block.c block: fix overlapping multiwrite requests 2014-08-29 14:09:43 +01:00
blockdev-nbd.c block: Use g_new() & friends where that makes obvious sense 2014-08-20 11:51:28 +02:00
blockdev.c block: acquire AioContext in do_drive_del() 2014-08-29 16:01:10 +01:00
blockjob.c coroutine: Drop co_sleep_ns 2014-08-29 10:46:58 +01:00
bt-host.c
bt-vhci.c
Changelog
CODING_STYLE CODING_STYLE: Section about conditional statement 2014-08-15 18:54:06 +04:00
configure configure: no need to mkdir QMP 2014-08-24 13:16:32 +04:00
COPYING
COPYING.LIB
coroutine-gthread.c glib-compat.h: add new thread API emulation on top of pre-2.31 API 2014-06-10 07:44:01 +02:00
coroutine-sigaltstack.c
coroutine-ucontext.c
coroutine-win32.c coroutine-win32.c: Add noinline attribute to work around gcc bug 2014-06-26 14:08:14 +01:00
cpu-exec.c trace: add some tcg tracing support 2014-08-12 14:26:12 +01:00
cpus.c s390x: Migrate to new NMI interface 2014-08-25 13:25:16 +02:00
cputlb.c softmmu: introduce cpu_ldst.h 2014-06-05 16:10:33 +02:00
device_tree.c
device-hotplug.c blockdev: Remove unused DriveInfo reference count 2014-06-16 17:23:19 +08:00
disas.c monitor: QEMU Monitor Instruction Disassembly Incorrect for PowerPC LE Mode 2014-06-16 13:24:26 +02:00
dma-helpers.c dma-helpers: Fix too long qiov 2014-07-14 12:03:21 +02:00
dump.c dump.c: Fix memory leak issue in cleanup processing for dump_init() 2014-08-18 14:39:10 -04:00
exec.c SCSI changes that enable sending vendor-specific commands via virtio-scsi. 2014-08-19 13:00:57 +01:00
gdbstub.c
HACKING
hmp-commands.hx cpus: Define callback for QEMU "nmi" command 2014-08-25 13:25:16 +02:00
hmp.c block: add backing-file option to block-stream 2014-07-01 10:47:01 +02:00
hmp.h hmp: add info memdev 2014-06-19 18:44:21 +03:00
iohandler.c
ioport.c memory: convert memory_region_destroy to object_unparent 2014-08-18 12:06:20 +02:00
iothread.c AioContext: do not rely on aio_poll(ctx, true) result to end a loop 2014-07-14 12:03:20 +02:00
kvm-all.c kvm: run cpu state synchronization on target vcpu thread 2014-08-20 15:21:00 +02:00
kvm-stub.c Add kvm_eventfds_enabled function 2014-06-19 16:41:54 +03:00
LICENSE
main-loop.c block: drop aio functions that operate on the main AioContext 2014-07-09 15:50:11 +02:00
MAINTAINERS block: Support Archipelago as a QEMU block backend 2014-08-15 15:07:14 +02:00
Makefile Tracing pull request 2014-08-15 16:37:17 +01:00
Makefile.objs Tracing pull request 2014-08-15 16:37:17 +01:00
Makefile.target trace: [tcg] Define TCG tracing helper routines 2014-08-12 14:26:12 +01:00
memory_mapping.c
memory.c memory: Lazy init name from QOM name as needed 2014-08-28 16:09:44 +02:00
migration-exec.c
migration-fd.c
migration-rdma.c rdma: bug fixes 2014-06-23 19:09:50 +02:00
migration-tcp.c
migration-unix.c
migration.c migration: catch unknown flags in ram_load 2014-06-16 04:55:27 +02:00
module-common.c
monitor.c monitor: fix use after free 2014-08-18 14:39:10 -04:00
nbd.c nbd: Follow the BDS' AIO context 2014-08-29 10:48:45 +01:00
numa.c numa: show hex number in error message for consistency and prefix them with 0x 2014-08-14 13:22:07 +02:00
os-posix.c
os-win32.c
page_cache.c migration: Plug memory leak in migrate-set-cache-size command 2014-06-10 19:54:43 +04:00
qapi-schema.json cpus: Define callback for QEMU "nmi" command 2014-08-25 13:25:16 +02:00
qdev-monitor.c trivial patches for 2014-08-15 2014-08-15 18:44:48 +01:00
qdict-test-data.txt
qemu-bridge-helper.c qemu-bridge-helper: Fix fd leak in main() 2014-06-27 10:39:10 +02:00
qemu-char.c Block pull request 2014-08-18 11:59:27 +01:00
qemu-coroutine-io.c qemu-coroutine-io: fix for Win32 2014-08-29 10:46:58 +01:00
qemu-coroutine-lock.c
qemu-coroutine-sleep.c coroutine: Drop co_sleep_ns 2014-08-29 10:46:58 +01:00
qemu-coroutine.c coroutine: make pool size dynamic 2014-08-15 15:07:14 +02:00
qemu-doc.texi doc: slirp supports ICMP echo if enabled in Linux 2014-07-18 17:45:37 +04:00
qemu-file.c
qemu-img-cmds.hx qemu-img: Allow cache mode specification for amend 2014-08-22 14:54:48 +02:00
qemu-img.c qemu-img: always goto out in img_snapshot() error paths 2014-08-29 10:46:57 +01:00
qemu-img.texi qemu-img: Allow cache mode specification for amend 2014-08-22 14:54:48 +02:00
qemu-io-cmds.c qemu-io-cmds: g_renew() can't fail, bury dead error handling 2014-08-20 11:51:28 +02:00
qemu-io.c block: Use g_new() & friends where that makes obvious sense 2014-08-20 11:51:28 +02:00
qemu-log.c
qemu-nbd.c nbd: Shutdown socket before closing. 2014-06-30 12:50:12 +02:00
qemu-nbd.texi
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx curl: Allow a cookie or cookies to be sent with http/https requests. 2014-08-29 16:11:14 +01:00
qemu-seccomp.c seccomp: add semctl() to the syscall whitelist 2014-08-21 10:29:16 +02:00
qemu-tech.texi
qemu-timer.c
qemu.nsi
qemu.sasl
qmp-commands.hx cpus: Define callback for QEMU "nmi" command 2014-08-25 13:25:16 +02:00
qmp.c qmp: hide "hotplugged" device property from device-list-properties 2014-08-15 15:07:13 +02:00
qtest.c icount: Add QemuOpts for icount 2014-08-06 17:53:07 +02:00
README
rules.mak build-sys: introduce install-prog macro to install&strip binaries and use it 2014-06-24 20:01:24 +04:00
savevm.c savevm: check vmsd for migratability status 2014-06-25 23:54:57 +02:00
softmmu_template.h softmmu: move softmmu_template.h out of include/ 2014-06-05 16:10:33 +02:00
spice-qemu-char.c qemu-char: introduce qemu_chr_alloc 2014-06-23 11:12:28 -04:00
tcg-runtime.c tcg: Push tcg-runtime routines into exec/helper-* 2014-05-28 09:33:54 -07:00
tci.c Merge remote-tracking branch 'remotes/bonzini/softmmu-smap' into staging 2014-06-05 21:06:14 +01:00
thread-pool.c thread-pool: avoid deadlock in nested aio_poll() calls 2014-08-15 15:07:14 +02:00
thunk.c
tpm.c
trace-events virtio-rng: add some trace events 2014-08-12 14:29:55 +01:00
translate-all.c trace: add some tcg tracing support 2014-08-12 14:26:12 +01:00
translate-all.h
user-exec.c softmmu: introduce cpu_ldst.h 2014-06-05 16:10:33 +02:00
VERSION Open 2.2 development tree 2014-08-01 18:30:08 +01:00
version.rc
vl.c vl: process -object after other backend options 2014-08-26 13:44:39 +02:00
vmstate.c vmstate: Add preallocation for migrating arrays (VMS_ALLOC flag) 2014-06-27 13:48:27 +02:00
xbzrle.c
xen-common-stub.c
xen-common.c
xen-hvm-stub.c xen-hvm: Fix xen_hvm_init() to adjust pc memory layout 2014-06-23 17:50:04 +03:00
xen-hvm.c xen: hvm: Abstract away memory region name ref 2014-08-28 16:09:44 +02:00
xen-mapcache.c xen: build on ARM 2014-07-07 10:37:40 +00:00

Read the documentation in qemu-doc.html or on http://wiki.qemu-project.org

- QEMU team