summary refs log tree commit diff stats
path: root/stubs/tpm.c
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2020-07-23 13:58:44 +0200
committerStefan Berger <stefanb@linux.vnet.ibm.com>2020-07-24 12:44:13 -0400
commitd64072c0ac6f73413026695bb33a4aa232e69617 (patch)
treeca4e8b8ba6ecad823f82f136525c86000fa2e3c6 /stubs/tpm.c
parent7adfbea8fd1efce36019a0c2f198ca73be9d3f18 (diff)
downloadfocaccia-qemu-d64072c0ac6f73413026695bb33a4aa232e69617.tar.gz
focaccia-qemu-d64072c0ac6f73413026695bb33a4aa232e69617.zip
Revert "tpm: Clean up error reporting in tpm_init_tpmdev()"
This reverts commit d10e05f15d5c3dd5e5cc59c5dfff460d89d48580.

We report some -tpmdev failures, but then continue as if all was fine.
Reproducer:

    $ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio -chardev null,id=tpm0 -tpmdev emulator,id=tpm0,chardev=chrtpm -device tpm-tis,tpmdev=tpm0
    qemu-system-x86_64: -tpmdev emulator,id=tpm0,chardev=chrtpm: tpm-emulator: tpm chardev 'chrtpm' not found.
    qemu-system-x86_64: -tpmdev emulator,id=tpm0,chardev=chrtpm: tpm-emulator: Could not cleanly shutdown the TPM: No such file or directory
    QEMU 5.0.90 monitor - type 'help' for more information
    (qemu) qemu-system-x86_64: -device tpm-tis,tpmdev=tpm0: Property 'tpm-tis.tpmdev' can't find value 'tpm0'
    $ echo $?
    1

This is a regression caused by commit d10e05f15d "tpm: Clean up error
reporting in tpm_init_tpmdev()".  It's incomplete: be->create(opts)
continues to use error_report(), and we don't set an error when it
fails.

I figure converting the create() methods to Error would make some
sense, but I'm not sure it's worth the effort right now.  Revert the
broken commit instead, and add a comment to tpm_init_tpmdev().

Straightforward conflict in tpm.c resolved.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Diffstat (limited to 'stubs/tpm.c')
-rw-r--r--stubs/tpm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/stubs/tpm.c b/stubs/tpm.c
index 66c99d667d..9bded191d9 100644
--- a/stubs/tpm.c
+++ b/stubs/tpm.c
@@ -10,8 +10,9 @@
 #include "sysemu/tpm.h"
 #include "hw/acpi/tpm.h"
 
-void tpm_init(void)
+int tpm_init(void)
 {
+    return 0;
 }
 
 void tpm_cleanup(void)