QEMU With E2K User Support
Go to file
Laszlo Ersek e980f2bf0a acpi_table_add(): extract and reimplement internals
The new function acpi_table_install() installs any blob the caller passes
in. In the next patches this function will be promoted from helper role to
extern.

Reimplementing the logic should make it easier to understand. It also
removes a buffer overflow when

    has_header &&
    cumulative_file_size < ACPI_TABLE_HDR_SIZE - ACPI_TABLE_PFX_SIZE

(In that case the g_realloc() call in the read() loop used to shrink the
"acpi_tables" array, causing an out-of-bounds read access when copying the
header out of "acpi_tables".)

The new code isn't more daring alignment-wise than its predecessor:
"acpi_table_header" is packed, and the uint32_t fields are at offsets 6,
26, and 34.

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
Message-id: 1363821803-3380-7-git-send-email-lersek@redhat.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-04-04 19:23:08 -05:00
QMP virtio,pci,qom 2013-03-26 16:16:43 -05:00
audio
backends qemu-char: Call fe_claim / fe_release when not using qdev chr properties 2013-04-04 19:21:25 -05:00
block oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock() 2013-04-02 11:47:37 -04:00
bsd-user qemu-log: default to stderr for logging output 2013-02-26 13:31:47 -06:00
default-configs VMXNET3 device implementation 2013-03-25 11:13:10 +01:00
disas Add moxie disassembler 2013-03-23 14:25:41 +00:00
docs trace: Provide a detailed event control interface 2013-03-28 14:19:57 +01:00
fpu
fsdev
gdb-xml
hw acpi_table_add(): extract and reimplement internals 2013-04-04 19:23:08 -05:00
include acpi_table_add(): accept QemuOpts and parse it with OptsVisitor 2013-04-04 19:23:08 -05:00
ldscripts
libcacard
linux-headers linux-headers: Update to v3.9-rc2 2013-04-01 11:50:04 -06:00
linux-user linux-user/syscall.c: Don't warn about unimplemented get_robust_list 2013-03-11 14:35:08 +02:00
net qemu-char: Call fe_claim / fe_release when not using qdev chr properties 2013-04-04 19:21:25 -05:00
pc-bios ipxe: update binaries 2013-03-25 09:13:18 +01:00
pixman@97336fad32
po po: Update German translation 2013-04-04 00:28:37 +02:00
qapi
qga Fix typos and misspellings 2013-03-22 13:25:07 +01:00
qobject Add qdict_clone_shallow() 2013-03-15 16:07:49 +01:00
qom virtio,pci,qom 2013-03-26 16:16:43 -05:00
roms virtio,pci,qom 2013-03-26 16:16:43 -05:00
scripts trace: [stderr] Port to generic event information and new control interface 2013-03-28 14:19:57 +01:00
slirp oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock() 2013-04-02 11:47:37 -04:00
stubs stubs: Add a vmstate_dummy struct for CONFIG_USER_ONLY 2013-03-12 10:35:54 +01:00
sysconfigs/target
target-alpha cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
target-arm target-arm: Override do_interrupt for ARMv7-M profile 2013-03-12 10:35:55 +01:00
target-cris cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
target-i386 strip some whitespace 2013-04-04 19:23:08 -05:00
target-lm32 target-lm32: use HELPER() macro 2013-03-18 19:40:34 +01:00
target-m68k cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
target-microblaze microblaze: Add support for the sleep insn 2013-04-02 10:47:29 +02:00
target-mips target-mips: fix rndrashift_short_acc and code for EXTR_ instructions 2013-03-17 01:06:34 +01:00
target-moxie target-moxie: set do_interrupt to a target-specific helper function 2013-03-31 18:26:31 +00:00
target-openrisc cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
target-ppc target-ppc: Use NARROW_MODE macro for tlbie 2013-03-22 15:28:54 +01:00
target-s390x Fix typos and misspellings 2013-03-22 13:25:07 +01:00
target-sh4 cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
target-sparc cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
target-unicore32 cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
target-xtensa cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
tcg tcg/mips: Implement muls2_i32 2013-04-01 18:49:17 +02:00
tests qcow2: Gather clusters in a looping loop 2013-03-28 11:52:44 +01:00
tpm tpm: Fix several compiler warnings (redefined data types) 2013-04-03 15:06:03 -05:00
trace trace: rebuild generated-events.o when configuration changes 2013-03-28 14:19:57 +01:00
ui Merge remote-tracking branch 'luiz/queue/qmp' into staging 2013-04-02 14:07:35 -05:00
util qemu-socket: set passed fd non-blocking in socket_connect() 2013-04-02 11:47:37 -04:00
.exrc
.gitignore .gitignore: rename trace/generated-tracers.dtrace 2013-03-28 14:19:57 +01:00
.gitmodules
.mailmap
CODING_STYLE
COPYING
COPYING.LIB
Changelog
HACKING
LICENSE
MAINTAINERS Add top level changes for moxie 2013-03-23 14:25:42 +00:00
Makefile trace: Provide a generic tracing event descriptor 2013-03-28 14:19:57 +01:00
Makefile.objs Support for TPM command line options 2013-03-12 13:40:11 -05:00
Makefile.target build: always link device_tree.o into emulators if libfdt available 2013-03-01 15:01:19 +01:00
README
VERSION Open up 1.5 development tree 2013-02-15 17:40:56 -06:00
aio-posix.c aio: support G_IO_HUP and G_IO_ERR 2013-02-21 16:17:31 -06:00
aio-win32.c
arch_init.c acpi_table_add(): accept QemuOpts and parse it with OptsVisitor 2013-04-04 19:23:08 -05:00
async.c aio: add a ThreadPool instance to AioContext 2013-03-15 16:07:50 +01:00
balloon.c
block-migration.c migration: run setup callbacks out of big lock 2013-03-11 13:32:01 +01:00
block.c block: Fix direct use of protocols as driver for bdrv_open() 2013-03-28 11:58:40 +01:00
blockdev-nbd.c
blockdev.c block: Allow omitting the file name when using driver-specific options 2013-03-22 17:51:32 +01:00
blockjob.c
bt-host.c MinGW: Replace setsockopt by qemu_setsocketopt 2013-03-22 13:14:48 +01:00
bt-vhci.c
cmd.c
cmd.h
configure configure: remove unset variables 2013-04-02 14:05:15 -05:00
coroutine-gthread.c
coroutine-sigaltstack.c Merge remote-tracking branch 'kwolf/for-anthony' into staging 2013-02-26 07:44:39 -06:00
coroutine-ucontext.c Merge remote-tracking branch 'kwolf/for-anthony' into staging 2013-02-26 07:44:39 -06:00
coroutine-win32.c
cpu-exec.c target-i386: Don't modify env->eflags around cpu_dump_state 2013-03-23 14:30:12 +00:00
cpus.c cpu: Pass CPUState to cpu_interrupt() 2013-03-12 10:35:55 +01:00
cputlb.c cpu: Move current_tb field to CPUState 2013-02-16 14:51:00 +01:00
device-hotplug.c hw: move device-hotplug.o to toplevel, compile it once 2013-03-01 13:57:13 +01:00
device_tree.c
disas.c Add moxie disassembler 2013-03-23 14:25:41 +00:00
dma-helpers.c
dump-stub.c
dump.c cpu: Move host_tid field to CPUState 2013-02-16 14:50:59 +01:00
exec.c exec: assert that RAMBlock size is non-zero 2013-03-26 21:02:17 +02:00
gdbstub.c qemu-char: Call fe_claim / fe_release when not using qdev chr properties 2013-04-04 19:21:25 -05:00
hmp-commands.hx New QMP command query-cpu-max and HMP command cpu_max 2013-03-25 16:21:33 -04:00
hmp.c Merge remote-tracking branch 'quintela/migration.next' into staging 2013-03-26 13:38:00 -05:00
hmp.h New QMP command query-cpu-max and HMP command cpu_max 2013-03-25 16:21:33 -04:00
iohandler.c iohandler: switch to GPollFD 2013-02-21 16:17:31 -06:00
ioport.c
kvm-all.c cpu: Pass CPUState to cpu_interrupt() 2013-03-12 10:35:55 +01:00
kvm-stub.c
main-loop.c main-loop: add qemu_get_aio_context() 2013-03-15 16:07:50 +01:00
memory.c memory: fix a bug of detection of memory region collision 2013-03-22 13:21:28 +01:00
memory_mapping-stub.c
memory_mapping.c
migration-exec.c migration: eliminate s->migration_file 2013-03-11 13:32:03 +01:00
migration-fd.c migration: eliminate s->migration_file 2013-03-11 13:32:03 +01:00
migration-tcp.c migration: eliminate s->migration_file 2013-03-11 13:32:03 +01:00
migration-unix.c migration: eliminate s->migration_file 2013-03-11 13:32:03 +01:00
migration.c oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock() 2013-04-02 11:47:37 -04:00
monitor.c trace: [monitor] Use new event control interface 2013-03-28 14:19:57 +01:00
nbd.c oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock() 2013-04-02 11:47:37 -04:00
os-posix.c
os-win32.c
page_cache.c page_cache: dup memory on insert 2013-03-11 13:32:03 +01:00
qapi-schema-test.json
qapi-schema.json qapi schema: add AcpiTableOptions 2013-04-04 19:23:08 -05:00
qdev-monitor.c hw: move qdev-monitor.o to toplevel directory 2013-03-01 13:54:10 +01:00
qdict-test-data.txt
qemu-bridge-helper.c qemu-bridge-helper: force usage of a very high MAC address for the bridge 2013-03-28 12:58:52 -05:00
qemu-char.c qemu-char: Call fe_claim / fe_release when not using qdev chr properties 2013-04-04 19:21:25 -05:00
qemu-coroutine-io.c
qemu-coroutine-lock.c coroutine: use AioContext for CoQueue BH 2013-03-15 16:07:51 +01:00
qemu-coroutine-sleep.c
qemu-coroutine.c coroutine: move pooling to common code 2013-02-22 21:21:10 +01:00
qemu-doc.texi sheepdog: add support for connecting to unix domain socket 2013-03-04 09:54:17 +01:00
qemu-img-cmds.hx qemu-img: Add compare subcommand 2013-02-22 21:21:10 +01:00
qemu-img.c block: Add options QDict to bdrv_open() prototype 2013-03-15 16:07:49 +01:00
qemu-img.texi qemu-img: Add compare subcommand 2013-02-22 21:21:10 +01:00
qemu-io.c block: Add options QDict to bdrv_file_open() prototypes 2013-03-22 17:51:31 +01:00
qemu-log.c qemu-log: default to stderr for logging output 2013-02-26 13:31:47 -06:00
qemu-nbd.c block: Add options QDict to bdrv_open() prototype 2013-03-15 16:07:49 +01:00
qemu-nbd.texi qemu-nbd: add --discard option 2013-02-22 21:29:43 +01:00
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx help: add docs for missing 'queues' option of tap 2013-04-03 15:09:07 -05:00
qemu-seccomp.c
qemu-tech.texi
qemu-timer.c
qemu.sasl
qmp-commands.hx Merge remote-tracking branch 'quintela/migration.next' into staging 2013-03-26 13:38:00 -05:00
qmp.c
qtest.c qtest: use synchronous I/O for char device 2013-03-26 10:08:12 -05:00
readline.c
rules.mak
savevm.c oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock() 2013-04-02 11:47:37 -04:00
spice-qemu-char.c spice-qemu-char: Drop hackish vmc_register on spice_chr_write 2013-03-27 10:26:50 -05:00
tcg-runtime.c tcg: Implement multiword multiply helpers 2013-02-23 17:25:28 +00:00
tci.c
thread-pool.c threadpool: drop global thread pool 2013-03-15 16:07:51 +01:00
thunk.c
trace-events Merge remote-tracking branch 'stefanha/block' into staging 2013-03-28 12:57:37 -05:00
translate-all.c tcg: Fix occasional TCG broken problem when ldst optimization enabled 2013-03-22 21:38:21 +01:00
translate-all.h cputlb: Pass CPUState to cpu_unlink_tb() 2013-02-16 14:51:00 +01:00
user-exec.c Replace all setjmp()/longjmp() with sigsetjmp()/siglongjmp() 2013-02-23 16:11:19 +00:00
version.rc
vl.c acpi_table_add(): accept QemuOpts and parse it with OptsVisitor 2013-04-04 19:23:08 -05:00
xbzrle.c
xen-all.c cpu: Move halted and interrupt_request fields to CPUState 2013-03-12 10:35:55 +01:00
xen-mapcache.c xen-mapcache: pass the right size argument to test_bits 2013-04-03 11:51:53 +00:00
xen-stub.c

README

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

- QEMU team