qemu-irix/tests
Markus Armbruster c3adb58fe0 blockdev: Refuse to open encrypted image unless paused
Opening an encrypted image takes an additional step: setting the key.
Between open and the key set, the image must not be used.

We have some protection against accidental use in place: you can't
unpause a guest while we're missing keys.  You can, however, hot-plug
block devices lacking keys into a running guest just fine, or insert
media lacking keys.  In the latter case, notifying the guest of the
insert is delayed until the key is set, which may suffice to protect
at least some guests in common usage.

This patch makes the protection apply in more cases, in a rather
heavy-handed way: it doesn't let you open encrypted images unless
we're in a paused state.

It doesn't extend the protection to users other than the guest (block
jobs?).  Use of runstate_check() from block.c is disgusting.  Best I
can do right now.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2014-03-14 16:24:42 +01:00
..
acpi-test-data acpi-test: update expected SSDT files 2014-03-11 13:27:27 +02:00
libqos
multiboot
qapi-schema qapi script: do not allow string discriminator 2014-03-11 09:07:42 -04:00
qemu-iotests blockdev: Refuse to open encrypted image unless paused 2014-03-14 16:24:42 +01:00
tcg
.gitignore
Makefile Block pull request 2014-03-13 15:33:04 +00:00
acpi-test.c acpi-test: issue errors instead of warnings when possible 2014-03-09 21:09:38 +02:00
blockdev-test.c
boot-order-test.c
check-block.sh
check-qdict.c
check-qfloat.c
check-qint.c
check-qjson.c
check-qlist.c
check-qom-interface.c
check-qstring.c
e1000-test.c
eepro100-test.c
endianness-test.c
fdc-test.c
fw_cfg-test.c
hd-geo-test.c
i440fx-test.c
ide-test.c
ipoctal232-test.c
libqtest.c qtest: Fix crash if SIGABRT during qtest_init() 2014-03-13 21:12:07 +01:00
libqtest.h qtest: Fix crash if SIGABRT during qtest_init() 2014-03-13 21:12:07 +01:00
m48t59-test.c
ne2000-test.c
pcnet-test.c
qdev-monitor-test.c qdev-monitor-test: Don't test human-readable error message 2014-03-12 20:13:02 +01:00
qemu-iotests-quick.sh
qom-test.c qom-test: Test QOM properties 2014-03-13 01:21:45 +01:00
rtc-test.c
rtl8139-test.c
spapr-phb-test.c tests: Add spapr-pci-host-bridge qtest 2014-03-13 01:21:57 +01:00
test-aio.c aio: add aio_context_acquire() and aio_context_release() 2014-03-13 14:42:24 +01:00
test-bitops.c
test-coroutine.c
test-cutils.c
test-hbitmap.c
test-int128.c
test-iov.c
test-mul64.c
test-opts-visitor.c
test-qdev-global-props.c
test-qmp-commands.c tests: test-qmp-commands: Fix double free 2014-03-11 09:07:42 -04:00
test-qmp-input-strict.c qapi script: do not allow string discriminator 2014-03-11 09:07:42 -04:00
test-qmp-input-visitor.c qapi script: do not allow string discriminator 2014-03-11 09:07:42 -04:00
test-qmp-output-visitor.c qapi script: do not allow string discriminator 2014-03-11 09:07:42 -04:00
test-rfifolock.c rfifolock: add recursive FIFO lock 2014-03-13 14:42:21 +01:00
test-string-input-visitor.c
test-string-output-visitor.c
test-thread-pool.c
test-throttle.c
test-visitor-serialization.c
test-vmstate.c
test-x86-cpuid.c
test-xbzrle.c
tmp105-test.c
tpci200-test.c
virtio-balloon-test.c tests: Add virtio-balloon qtest 2014-03-13 01:21:56 +01:00
virtio-blk-test.c tests: Add virtio-blk qtest 2014-03-13 01:21:56 +01:00
virtio-console-test.c virtio-console-test: Test virtserialport as well 2014-03-13 21:12:07 +01:00
virtio-net-test.c
virtio-rng-test.c tests: Add virtio-rng qtest 2014-03-13 01:21:56 +01:00
virtio-scsi-test.c tests: Add virtio-scsi qtest 2014-03-13 01:21:56 +01:00
virtio-serial-test.c tests: Add virtio-serial qtest 2014-03-13 01:21:57 +01:00
vmxnet3-test.c