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.
qemu/backends/tpm
Stefan Berger 99bdcd2cc2 tpm_emulator: Have swtpm relock storage upon migration fall-back
Swtpm may release the lock once the last one of its state blobs has been
migrated out. In case of VM migration failure QEMU now needs to notify
swtpm that it should again take the lock, which it can otherwise only do
once it has received the first TPM command from the VM.

Only try to send the lock command if swtpm supports it. It will not have
released the lock (and support shared storage setups) if it doesn't
support the locking command since the functionality of releasing the lock
upon state blob reception and the lock command were added to swtpm
'together'.

If QEMU sends the lock command and the storage has already been locked
no error is reported.

If swtpm does not receive the lock command (from older version of QEMU),
it will lock the storage once the first TPM command has been received. So
sending the lock command is an optimization.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20220912174741.1542330-3-stefanb@linux.ibm.com
2 years ago
..
Kconfig tpm: Move backend code under the 'backends/' directory 4 years ago
meson.build configure, meson: move TPM check to meson 3 years ago
tpm_backend.c
tpm_emulator.c tpm_emulator: Have swtpm relock storage upon migration fall-back 2 years ago
tpm_int.h tpm: Move backend code under the 'backends/' directory 4 years ago
tpm_ioctl.h tpm_emulator: Use latest tpm_ioctl.h from swtpm project 2 years ago
tpm_passthrough.c Remove qemu-common.h include from most units 3 years ago
tpm_util.c qdev: Rename qdev_get_prop_ptr() to object_field_prop_ptr() 4 years ago
trace-events tpm_emulator: Have swtpm relock storage upon migration fall-back 2 years ago
trace.h trace: switch position of headers to what Meson requires 4 years ago