forked from mirror/qemu
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
7103895123
bdrv_*() APIs expect a valid BlockDriverState. Calling them with bs=NULL
leads to undefined behavior.
Jonathan Cameron reported this following NULL pointer dereference when a
VM with a virtio-blk device and a memory-backend-file object is
terminated:
1. qemu_cleanup() closes all drives, setting blk->root to NULL
2. qemu_cleanup() calls user_creatable_cleanup(), which results in a RAM
block notifier callback because the memory-backend-file is destroyed.
3. blk_unregister_buf() is called by virtio-blk's BlockRamRegistrar
notifier callback and undefined behavior occurs.
Fixes:
|
2 years ago | |
---|---|---|
.. | ||
export | 2 years ago | |
monitor | 2 years ago | |
accounting.c | 2 years ago | |
aio_task.c | 3 years ago | |
amend.c | 3 years ago | |
backup.c | 2 years ago | |
blkdebug.c | 2 years ago | |
blkio.c | 2 years ago | |
blklogwrites.c | 2 years ago | |
blkreplay.c | 2 years ago | |
blkverify.c | 2 years ago | |
block-backend.c | 2 years ago | |
block-copy.c | 2 years ago | |
block-gen.h | 4 years ago | |
block-ram-registrar.c | 2 years ago | |
bochs.c | 2 years ago | |
cloop.c | 2 years ago | |
commit.c | 2 years ago | |
copy-before-write.c | 2 years ago | |
copy-before-write.h | 3 years ago | |
copy-on-read.c | 2 years ago | |
copy-on-read.h | 3 years ago | |
coroutines.h | 2 years ago | |
create.c | 3 years ago | |
crypto.c | 2 years ago | |
crypto.h | 4 years ago | |
curl.c | 2 years ago | |
dirty-bitmap.c | 2 years ago | |
dmg-bz2.c | ||
dmg-lzfse.c | 4 years ago | |
dmg.c | 2 years ago | |
dmg.h | ||
file-posix.c | 2 years ago | |
file-win32.c | 3 years ago | |
filter-compress.c | 2 years ago | |
gluster.c | 2 years ago | |
io.c | 2 years ago | |
io_uring.c | 2 years ago | |
iscsi-opts.c | 3 years ago | |
iscsi.c | 2 years ago | |
linux-aio.c | 2 years ago | |
meson.build | 2 years ago | |
mirror.c | 2 years ago | |
nbd.c | 2 years ago | |
nfs.c | 2 years ago | |
null.c | 3 years ago | |
nvme.c | 2 years ago | |
parallels-ext.c | 2 years ago | |
parallels.c | 2 years ago | |
parallels.h | 4 years ago | |
preallocate.c | 2 years ago | |
progress_meter.c | 3 years ago | |
qapi-sysemu.c | 3 years ago | |
qapi.c | 3 years ago | |
qcow.c | 2 years ago | |
qcow2-bitmap.c | 2 years ago | |
qcow2-cache.c | 2 years ago | |
qcow2-cluster.c | 2 years ago | |
qcow2-refcount.c | 2 years ago | |
qcow2-snapshot.c | 2 years ago | |
qcow2-threads.c | 5 years ago | |
qcow2.c | 2 years ago | |
qcow2.h | 2 years ago | |
qed-check.c | ||
qed-cluster.c | ||
qed-l2-cache.c | 3 years ago | |
qed-table.c | 2 years ago | |
qed.c | 2 years ago | |
qed.h | 4 years ago | |
quorum.c | 2 years ago | |
raw-format.c | 2 years ago | |
rbd.c | 2 years ago | |
replication.c | 2 years ago | |
reqlist.c | 3 years ago | |
snapshot-access.c | 2 years ago | |
snapshot.c | 2 years ago | |
ssh.c | 2 years ago | |
stream.c | 3 years ago | |
throttle-groups.c | 4 years ago | |
throttle.c | 2 years ago | |
trace-events | 2 years ago | |
trace.h | 4 years ago | |
vdi.c | 2 years ago | |
vhdx-endian.c | ||
vhdx-log.c | 2 years ago | |
vhdx.c | 2 years ago | |
vhdx.h | ||
vmdk.c | 2 years ago | |
vpc.c | 2 years ago | |
vvfat.c | 2 years ago | |
win32-aio.c | 3 years ago | |
write-threshold.c | 4 years ago |