Go to file
Kevin Wolf da15ee5134 block: Catch integer overflow in bdrv_rw_co()
Insanely large requests could cause an integer overflow in
bdrv_rw_co() while converting sectors to bytes. This patch catches the
problem and returns an error (if we hadn't overflown the integer here,
bdrv_check_byte_request() would have rejected the request, so we're not
breaking anything that was supposed to work before).

We actually do have a test case that triggers behaviour where we
accidentally let such a request pass, so that it would return success,
but read 0 bytes instead of the requested 4 GB. It fails now like it
should.

If the vdi block driver wants to be able to deal with huge images, it
can't read the whole block bitmap at once into memory like it does
today, but needs to use a metadata cache like qcow2 does.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2014-04-22 11:57:02 +02:00
audio
backends
block iscsi: Remember to set ret for iscsi_open in error case 2014-04-11 13:59:49 +02:00
bsd-user
default-configs
disas
docs
dtc@bc895d6d09
fpu
fsdev
gdb-xml
hw net: cadence_gem: Make phy respond to broadcast 2014-04-17 21:34:07 +01:00
include allwinner-emac: set autonegotiation complete bit on link up 2014-04-17 21:34:06 +01:00
libcacard
linux-headers
linux-user target-arm: Define exception record for AArch64 exceptions 2014-04-17 21:34:03 +01:00
net
pc-bios
pixman@97336fad32
po
qapi
qga
qobject
qom qom: Fix crash with qom-list and link properties 2014-04-11 17:57:36 +01:00
roms
scripts
slirp
stubs
sysconfigs/target
target-alpha
target-arm target-arm: A64: fix unallocated test of scalar SQXTUN 2014-04-17 21:34:07 +01:00
target-cris
target-i386
target-lm32
target-m68k
target-microblaze
target-mips
target-moxie
target-openrisc
target-ppc PPC: Add l1 cache sizes for 970 and above systems 2014-04-08 11:20:06 +02:00
target-s390x
target-sh4
target-sparc
target-unicore32
target-xtensa
tcg tcg-aarch64: Use tcg_out_mov in preference to tcg_out_movr 2014-04-16 12:13:02 -04:00
tests block: Catch integer overflow in bdrv_rw_co() 2014-04-22 11:57:02 +02:00
trace
ui input: sdl2: Fix relative mode to match SDL1 behavior 2014-04-11 12:19:16 +02:00
util
.exrc
.gitignore
.gitmodules
.mailmap
.travis.yml
aio-posix.c
aio-win32.c
arch_init.c
async.c
balloon.c
block-migration.c
block.c block: Catch integer overflow in bdrv_rw_co() 2014-04-22 11:57:02 +02:00
blockdev-nbd.c
blockdev.c block-commit: speed is an optional parameter 2014-04-11 13:59:49 +02:00
blockjob.c
bt-host.c
bt-vhci.c
Changelog
CODING_STYLE
configure configure: Make stack-protector test check both compile and link 2014-04-14 12:11:18 +01:00
COPYING
COPYING.LIB
coroutine-gthread.c
coroutine-sigaltstack.c
coroutine-ucontext.c
coroutine-win32.c
cpu-exec.c
cpus.c
cputlb.c
device_tree.c
device-hotplug.c
disas.c
dma-helpers.c
dump.c
exec.c
gdbstub.c
HACKING
hmp-commands.hx
hmp.c
hmp.h
iohandler.c
ioport.c
iothread.c
kvm-all.c Revert "fix return check for KVM_GET_DIRTY_LOG ioctl" 2014-04-14 15:40:02 +01:00
kvm-stub.c
LICENSE
main-loop.c
MAINTAINERS
Makefile
Makefile.objs
Makefile.target
memory_mapping.c
memory.c
migration-exec.c
migration-fd.c
migration-rdma.c
migration-tcp.c
migration-unix.c
migration.c
module-common.c
monitor.c
nbd.c
os-posix.c
os-win32.c
page_cache.c
qapi-schema.json
qdev-monitor.c
qdict-test-data.txt
qemu-bridge-helper.c
qemu-char.c
qemu-coroutine-io.c
qemu-coroutine-lock.c
qemu-coroutine-sleep.c
qemu-coroutine.c
qemu-doc.texi
qemu-file.c
qemu-img-cmds.hx
qemu-img.c
qemu-img.texi
qemu-io-cmds.c
qemu-io.c
qemu-log.c
qemu-nbd.c
qemu-nbd.texi
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx
qemu-seccomp.c
qemu-tech.texi
qemu-timer.c
qemu.nsi
qemu.sasl
qmp-commands.hx
qmp.c
qtest.c
README
rules.mak
savevm.c
spice-qemu-char.c
tcg-runtime.c
tci.c
thread-pool.c
thunk.c
tpm.c
trace-events
translate-all.c
translate-all.h
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
vmstate.c
xbzrle.c
xen-all.c
xen-mapcache.c
xen-stub.c

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

- QEMU team