qemu-e2k/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 target-xtensa: add basic tests for cache opcodes 2014-02-24 04:47:02 +04:00
.gitignore tests/.gitignore: Ignore tests/check-qom-interface 2014-02-01 13:56:31 +04: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-qdict: Test termination of qdict_array_split() 2014-02-21 22:18:26 +01:00
check-qfloat.c
check-qint.c
check-qjson.c
check-qlist.c
check-qom-interface.c tests: Test QOM interface casting 2013-12-24 17:27:17 +01:00
check-qstring.c
e1000-test.c tests: Add e1000 qtest 2014-02-14 16:22:33 +01:00
eepro100-test.c tests: Add eepro100 qtest 2014-02-14 16:22:33 +01:00
endianness-test.c qtest: Include system headers before user headers 2014-02-17 23:10:02 +01:00
fdc-test.c qtest: Fix the bug about disable vnc causes "make check" fail 2014-01-22 12:07:16 +01:00
fw_cfg-test.c qtest: Include system headers before user headers 2014-02-17 23:10:02 +01:00
hd-geo-test.c
i440fx-test.c QOM infrastructure fixes and device conversions 2014-02-20 13:05:48 +00:00
ide-test.c qtest: Fix the bug about disable vnc causes "make check" fail 2014-01-22 12:07:16 +01:00
ipoctal232-test.c tests: Add ipoctal232 qtest 2014-02-14 21:07:13 +01:00
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 qtest: Include system headers before user headers 2014-02-17 23:10:02 +01:00
Makefile Block pull request 2014-03-13 15:33:04 +00:00
ne2000-test.c tests: Add ne2000 qtest 2014-02-14 20:50:19 +01:00
pcnet-test.c tests: Add pcnet qtest 2014-02-14 16:22:33 +01:00
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 qemu-iotests: add more tests to the "quick" group 2014-02-28 18:59:06 +01:00
qom-test.c qom-test: Test QOM properties 2014-03-13 01:21:45 +01:00
rtc-test.c qtest: Include system headers before user headers 2014-02-17 23:10:02 +01:00
rtl8139-test.c tests: Add rtl8139 qtest 2014-02-14 16:22:33 +01:00
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 tests/test-int128: Don't use __noclone__ attribute on clang 2014-03-02 17:20:37 +04:00
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 Use error_is_set() only when necessary 2014-02-17 11:57:23 -05:00
test-string-output-visitor.c QOM infrastructure fixes and device conversions 2014-02-20 13:05:48 +00:00
test-thread-pool.c
test-throttle.c
test-visitor-serialization.c tests/qapi-schema: Cover complex types with base 2014-03-03 11:16:45 -05:00
test-vmstate.c tests: Some unit tests for vmstate.c 2014-01-13 14:04:53 +01:00
test-x86-cpuid.c
test-xbzrle.c
tmp105-test.c qtest: Include system headers before user headers 2014-02-17 23:10:02 +01:00
tpci200-test.c tests: Add tpci200 qtest 2014-02-14 21:02:27 +01:00
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 tests: Add virtio-net qtest 2014-02-14 21:01:03 +01:00
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 tests: Add vmxnet3 qtest 2014-02-14 16:22:33 +01:00