Message ID | 1510696349-5151-3-git-send-email-stefanb@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
Series | tpm: a few fixes | expand |
Hi On Tue, Nov 14, 2017 at 10:52 PM, Stefan Berger <stefanb@linux.vnet.ibm.com> wrote: > In case the backend has a failure, such as the tpm_emulator's CMD_INIT > failing, the TIS goes into failure mode and does not respond to reads > or writes to MMIO registers. In this case we need to prevent the ACPI > table from being added and the straight-forward way is to indicate that > there's no known TPM version being used. > > Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> (we can probably iterate to improve the code around that later) > --- > hw/tpm/tpm_tis.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/hw/tpm/tpm_tis.c b/hw/tpm/tpm_tis.c > index 7402528..fec2fc6 100644 > --- a/hw/tpm/tpm_tis.c > +++ b/hw/tpm/tpm_tis.c > @@ -1008,6 +1008,10 @@ TPMVersion tpm_tis_get_tpm_version(Object *obj) > { > TPMState *s = TPM(obj); > > + if (tpm_backend_had_startup_error(s->be_driver)) { > + return TPM_VERSION_UNSPEC; > + } > + > return tpm_backend_get_tpm_version(s->be_driver); > } > > -- > 2.5.5 >
diff --git a/hw/tpm/tpm_tis.c b/hw/tpm/tpm_tis.c index 7402528..fec2fc6 100644 --- a/hw/tpm/tpm_tis.c +++ b/hw/tpm/tpm_tis.c @@ -1008,6 +1008,10 @@ TPMVersion tpm_tis_get_tpm_version(Object *obj) { TPMState *s = TPM(obj); + if (tpm_backend_had_startup_error(s->be_driver)) { + return TPM_VERSION_UNSPEC; + } + return tpm_backend_get_tpm_version(s->be_driver); }
In case the backend has a failure, such as the tpm_emulator's CMD_INIT failing, the TIS goes into failure mode and does not respond to reads or writes to MMIO registers. In this case we need to prevent the ACPI table from being added and the straight-forward way is to indicate that there's no known TPM version being used. Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com> --- hw/tpm/tpm_tis.c | 4 ++++ 1 file changed, 4 insertions(+)