QEMU With E2K User Support
Go to file
Stefan Hajnoczi 924fe1293c aio: fix qemu_bh_schedule() bh->ctx race condition
qemu_bh_schedule() is supposed to be thread-safe at least the first time
it is called.  Unfortunately this is not quite true:

  bh->scheduled = 1;
  aio_notify(bh->ctx);

Since another thread may run the BH callback once it has been scheduled,
there is a race condition if the callback frees the BH before
aio_notify(bh->ctx) has a chance to run.

Reported-by: Stefan Priebe <s.priebe@profihost.ag>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Tested-by: Stefan Priebe <s.priebe@profihost.ag>
2014-06-04 09:56:06 +02:00
audio audio: replace fprintf(stderr, ...) with error_report() in audio 2014-05-26 10:41:21 +04:00
backends build: convert some obj-specific CFLAGS to use new foo.o-cflags syntax 2014-05-08 15:27:49 +02:00
block vmdk: Fix local_err in vmdk_create 2014-05-30 14:26:54 +02:00
bsd-user Revert "bsd-user: replace fprintf(stderr, ...) with error_report()" 2014-06-02 13:26:59 +01:00
default-configs s390x: split flic into kvm and non-kvm parts 2014-05-20 13:05:57 +02:00
disas disas/libvixl: Update to libvixl 1.4 2014-05-13 16:09:35 +01:00
docs docs: Define refcount_bits value 2014-05-28 14:28:46 +02:00
dtc@bc895d6d09
fpu softfloat: Introduce float32_to_uint64_round_to_zero 2014-04-08 11:20:00 +02:00
fsdev virtfs-proxy-helper: fix call to accept 2014-04-28 08:55:32 +04:00
gdb-xml
hw VFIO patches: realtek NIC quirk + SPAPR IOMMU AddressSpace support 2014-06-03 14:37:43 +01:00
include VFIO patches: realtek NIC quirk + SPAPR IOMMU AddressSpace support 2014-06-03 14:37:43 +01:00
libcacard libcacard: remove useless initializers 2014-05-26 10:41:22 +04:00
linux-headers linux-headers: update 2014-05-20 13:05:58 +02:00
linux-user target-i386: the x86 CPL is stored in CS.selector - auto update hflags accordingly. 2014-05-13 13:12:40 +02:00
net monitor: Add set_link arguments completion. 2014-05-15 15:16:02 -04:00
pc-bios seabios: update to 1.7.5 final 2014-06-02 16:49:00 +02:00
pixman@97336fad32
po po: add proper Language: tags to .po files 2014-04-28 08:55:32 +04:00
qapi qapi: Avoid output visitor crashing if it encounters a NULL value 2014-05-28 17:36:04 +02:00
qga qga: Drop superfluous error_is_set() 2014-05-09 09:11:31 -04:00
qobject qdict: Add qdict_join() 2014-05-19 11:36:48 +02:00
qom qerror.h: Remove QERR defines that are only used once 2014-04-25 09:19:59 -04:00
roms seabios: update to 1.7.5 final 2014-06-02 16:49:00 +02:00
scripts qapi: zero-initialize all QMP command parameters 2014-05-21 09:25:31 -04:00
slirp slirp: Remove default_mon usage 2014-04-25 09:19:58 -04:00
stubs qerror.h: Replace QERR_NOT_SUPPORTED with QERR_UNSUPPORTED 2014-04-25 09:19:59 -04:00
sysconfigs/target
target-alpha tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-arm tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-cris tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-i386 tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-lm32 tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-m68k tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-microblaze tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-mips tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-moxie tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-openrisc tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-ppc tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-s390x tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-sh4 tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-sparc tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-unicore32 tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-xtensa tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
tcg tcg/optimize: Remember garbage high bits for 32-bit ops 2014-05-28 09:33:56 -07:00
tests usb: improve ehci/uhci test 2014-06-02 16:28:59 +02:00
trace trace: [tracetool] Minimize the amount of per-backend code 2014-05-07 19:07:18 +02:00
ui sdl2: add support for text consoles 2014-06-02 16:10:12 +01:00
util purge error_is_set() 2014-05-22 18:14:01 +01:00
.exrc
.gitignore configure: Put tempfiles in a subdir of the build directory 2014-05-24 00:34:38 +04:00
.gitmodules Add OpenHack'Ware submodule 2014-03-12 17:26:32 +01:00
.mailmap
.travis.yml .travis.yml: add IRC notifications for build failures 2014-03-15 13:54:18 +04:00
aio-posix.c
aio-win32.c
arch_init.c arch_init: replace fprintf(stderr, ...) with error_report() 2014-05-24 00:10:42 +04:00
async.c aio: fix qemu_bh_schedule() bh->ctx race condition 2014-06-04 09:56:06 +02:00
balloon.c
block-migration.c block: Replace in_use with operation blocker 2014-05-28 14:28:46 +02:00
block.c block: Plug memory leak on brv_open_image() error path 2014-05-30 14:26:54 +02:00
blockdev-nbd.c nbd: Close socket on negotiation failure. 2014-05-24 00:07:29 +04:00
blockdev.c blockdev: Plug memory leak in drive_init() 2014-05-30 14:26:54 +02:00
blockjob.c block: Move op_blocker check from block_job_create to its caller 2014-05-28 14:28:46 +02:00
bt-host.c
bt-vhci.c
Changelog
CODING_STYLE CODING_STYLE: Section about mixed declarations 2014-03-27 19:22:49 +04:00
configure trivial patches for 2014-05-26 2014-05-27 22:45:03 +01:00
COPYING
COPYING.LIB
coroutine-gthread.c do not call g_thread_init() for glib >= 2.31 2014-05-07 21:00:43 +04:00
coroutine-sigaltstack.c
coroutine-ucontext.c
coroutine-win32.c
cpu-exec.c cpu: make CPU_INTERRUPT_RESET available on all targets 2014-05-13 13:21:51 +02:00
cpus.c savevm: Remove all the unneeded version_minimum_id_old (rest) 2014-05-14 15:24:51 +02:00
cputlb.c cputlb: Change tlb_set_page() argument to CPUState 2014-03-13 19:52:47 +01:00
device_tree.c
device-hotplug.c machine: Remove QEMUMachine indirection from MachineClass 2014-05-05 19:08:49 +02:00
disas.c disas: Implement disassembly output for A64 2014-02-08 14:50:48 +00:00
dma-helpers.c dma-helpers: avoid calling dma_bdrv_unmap() twice 2014-05-24 00:28:43 +04:00
dump.c dump: Drop pointless error_is_set(), DumpState member errp 2014-05-09 09:11:32 -04:00
exec.c savevm: Remove all the unneeded version_minimum_id_old (rest) 2014-05-14 15:24:51 +02:00
gdbstub.c exec: Change cpu_breakpoint_{insert,remove{,_by_ref,_all}} argument 2014-03-13 19:20:48 +01:00
HACKING
hmp-commands.hx monitor: Add netdev_del id argument completion. 2014-05-15 15:16:02 -04:00
hmp.c Block patches 2014-05-20 11:57:52 +01:00
hmp.h monitor: Add netdev_del id argument completion. 2014-05-15 15:16:02 -04:00
iohandler.c iohandler.c: Properly initialize sigaction struct 2014-05-24 00:07:29 +04:00
ioport.c
iothread.c iothread: make IOThread struct definition public 2014-04-04 20:48:02 +02:00
kvm-all.c s390x/virtio-ccw: wire up irq routing and irqfds 2014-05-20 13:05:58 +02:00
kvm-stub.c s390x/virtio-ccw: wire up irq routing and irqfds 2014-05-20 13:05:58 +02:00
LICENSE
main-loop.c main-loop: Suppress "I/O thread spun" warnings for qtest 2014-03-13 21:36:50 +01:00
MAINTAINERS MAINTAINERS: update Calxeda Highbank maintainer and status 2014-05-27 17:09:49 +01:00
Makefile Merge remote-tracking branch 'remotes/bonzini/configure' into staging 2014-05-13 11:30:07 +01:00
Makefile.objs libcacard: remove libcacard-specific CFLAGS and LIBS from global vars 2014-05-09 22:59:40 +02:00
Makefile.target Makefile.target: use $(INSTALL_PROG) for installing, not $(INSTALL) 2014-05-08 15:09:04 +02:00
memory_mapping.c
memory.c memory: Sanity check that no listeners remain on a destroyed AddressSpace 2014-05-30 12:59:00 -06:00
migration-exec.c
migration-fd.c
migration-rdma.c rdma: rename 'x-rdma' => 'rdma' 2014-02-25 14:30:28 +01:00
migration-tcp.c Coverity: Fix failure path for qemu_accept in migration 2014-05-05 22:15:03 +02:00
migration-unix.c Coverity: Fix failure path for qemu_accept in migration 2014-05-05 22:15:03 +02:00
migration.c migration: show average throughput when migration finishes 2014-05-14 15:24:52 +02:00
module-common.c module: implement module loading 2014-02-20 13:14:18 +01:00
monitor.c monitor: Add netdev_del id argument completion. 2014-05-15 15:16:02 -04:00
nbd.c nbd: Miscellaneous typo fixes. 2014-05-24 00:07:29 +04:00
os-posix.c oslib-posix: Fix build on FreeBSD 2014-03-13 14:34:16 +00:00
os-win32.c util: Split out exec_dir from os_find_datadir 2014-02-20 13:12:54 +01:00
page_cache.c Fix two XBZRLE corruption issues 2014-02-25 14:30:28 +01:00
qapi-schema.json Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging 2014-05-22 19:04:49 +01:00
qdev-monitor.c qdev: Implement named GPIOs 2014-05-28 17:36:21 +02:00
qdict-test-data.txt
qemu-bridge-helper.c
qemu-char.c char: Explain qmp_chardev_add()'s unusual error handling 2014-05-21 11:57:58 +02:00
qemu-coroutine-io.c
qemu-coroutine-lock.c
qemu-coroutine-sleep.c
qemu-coroutine.c
qemu-doc.texi doc: grammify "allows to" 2014-04-18 10:33:36 +04:00
qemu-file.c Make qemu_peek_buffer loop until it gets it's data 2014-05-05 22:15:03 +02:00
qemu-img-cmds.hx
qemu-img.c qemu-img: Report error even with --oformat=json 2014-06-02 13:58:40 +02:00
qemu-img.texi Describe flaws in qcow/qcow2 encryption in the docs 2014-01-31 22:05:03 +01:00
qemu-io-cmds.c qemu-io-cmds: Fixed typo in example for writev. 2014-03-19 09:39:41 +01:00
qemu-io.c qemu-io: Don't print NULL when open without non-option arg fails 2014-05-30 14:26:54 +02:00
qemu-log.c
qemu-nbd.c qemu-nbd: Don't use qerror_report() 2014-05-28 14:28:46 +02:00
qemu-nbd.texi nbd: Miscellaneous typo fixes. 2014-05-24 00:07:29 +04:00
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx target-lm32: add semihosting support 2014-05-24 19:42:29 +02:00
qemu-seccomp.c seccomp: add shmctl(), mlock(), and munlock() to the syscall whitelist 2014-04-25 14:52:03 -03:00
qemu-tech.texi
qemu-timer.c vl.c: remove init_clocks call from main 2014-05-09 20:57:32 +02:00
qemu.nsi
qemu.sasl sasl: Avoid 'Could not find keytab file' in syslog 2014-03-15 13:54:18 +04:00
qmp-commands.hx Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging 2014-05-22 19:04:49 +01:00
qmp.c qmp: Don't use error_is_set() to suppress additional errors 2014-05-09 09:11:32 -04:00
qtest.c qdev: Implement named GPIOs 2014-05-28 17:36:21 +02:00
README
rules.mak build: simplify and fix fix-obj-vars 2014-05-09 22:59:40 +02:00
savevm.c qerror.h: Remove QERR defines that are only used once 2014-04-25 09:19:59 -04:00
spice-qemu-char.c spice: hook qemu_chr_fe_set_open() event to ports 2014-02-03 11:05:15 +01:00
tcg-runtime.c tcg: Push tcg-runtime routines into exec/helper-* 2014-05-28 09:33:54 -07:00
tci.c tci: Mask shift counts to avoid undefined behavior 2014-04-18 16:57:36 -07:00
thread-pool.c aio: Fix use-after-free in cancellation path 2014-05-28 14:28:46 +02:00
thunk.c
tpm.c Use error_is_set() only when necessary 2014-02-17 11:57:23 -05:00
trace-events qtest: improve ehci/uhci test 2014-06-02 17:07:21 +01:00
translate-all.c tcg-mips: Constrain the code_gen_buffer to be within one 256mb segment 2014-05-24 08:45:00 -07:00
translate-all.h translate-all: Change tb_check_watchpoint() argument to CPUState 2014-03-13 19:20:48 +01:00
user-exec.c tcg-aarch64: Properly detect SIGSEGV writes 2014-04-16 12:12:32 -04:00
VERSION Open 2.1 development tree 2014-04-17 20:39:32 +01:00
version.rc
vl.c machine: Make -machine opts properties of MachineState 2014-05-28 17:36:13 +02:00
vmstate.c savevm: Ignore minimum_version_id_old if there is no load_state_old 2014-05-05 22:15:03 +02:00
xbzrle.c xbzrle.c: Avoid undefined behaviour with signed arithmetic 2014-04-18 10:33:36 +04:00
xen-common-stub.c xen: factor out common functions 2014-05-07 16:16:43 +00:00
xen-common.c xen: factor out common functions 2014-05-07 16:16:43 +00:00
xen-hvm-stub.c xen: factor out common functions 2014-05-07 16:16:43 +00:00
xen-hvm.c pass an inclusive address range to xc_domain_pin_memory_cacheattr 2014-05-07 16:17:57 +00:00
xen-mapcache.c

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

- QEMU team