qemu-cr16/backends/tpm
Arun Menon 42e556fa3f backends/tpm: Propagate vTPM error on migration failure
- When migration of a VM with encrypted vTPM fails on the
  destination host, (e.g., due to a mismatch in secret values),
  the error message displayed on the source host is generic and unhelpful.
- For example, a typical error looks like this:
  "operation failed: job 'migration out' failed: Sibling indicated error 1.
  operation failed: job 'migration in' failed: load of migration failed:
  Input/output error"
- Such generic errors are logged using error_report(), which prints to
  the console/monitor but does not make the detailed error accessible via
  the QMP query-migrate command.
- This change, along with the set of changes of passing errp Error object
  to the VM state loading functions, help in addressing the issue.
  We use the post_load_errp hook of VMStateDescription to propagate errors
  by setting Error **errp objects in case of failure in the TPM backend.
- It can then be retrieved using QMP command:
  {"execute" : "query-migrate"}

Buglink: https://issues.redhat.com/browse/RHEL-82826

Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Arun Menon <armenon@redhat.com>
Tested-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>
Link: https://lore.kernel.org/r/20250918-propagate_tpm_error-v14-27-36f11a6fb9d3@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
2025-10-03 09:48:02 -04:00
..
Kconfig
meson.build meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
tpm_backend.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
tpm_emulator.c backends/tpm: Propagate vTPM error on migration failure 2025-10-03 09:48:02 -04:00
tpm_int.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
tpm_ioctl.h tpm: Use new ptm_cap_n structure for PTM_GET_CAPABILITY 2024-10-18 07:53:11 -04:00
tpm_passthrough.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
tpm_util.c include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
trace-events tpm: Use new ptm_cap_n structure for PTM_GET_CAPABILITY 2024-10-18 07:53:11 -04:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00