Message ID | 20160829200828.GB3201@obsidianresearch.com |
---|---|
State | New |
Headers | show |
On Mon, Aug 29, 2016 at 02:08:28PM -0600, Jason Gunthorpe wrote: > Looks legit to me. I think this is a good change as long as it is sent through the normal process (so that it is available in patchwork). /Jarkko > ----- Forwarded message from Petr Vandrovec <petr@vmware.com> ----- > > Date: Sat, 27 Aug 2016 23:44:46 -0700 > From: Petr Vandrovec <petr@vmware.com> > To: jgunthorpe@obsidianresearch.com > Subject: TPM2 erroring-out after tpm: Factor out common startup code > > Hi Jason, > your change cae8b441fc20812d7260dc3b45e05ee98fcfff1b to factor out common > startup code introduced regression in tpm2-cmd :-( Now if firmware does > initialize tpm2 (and so tpm2_do_selftest succeeds), 'TPM self test failed' > error message is still printed, despite 'rc' being zero :-( > > Can you apply something like patch below, and send it to Linus? > > You also probably want to keep warning that TPM was not initialized by > firmware if tpm2-cmd has to perform initialization, as in such case TPM cannot > be used for attestation. > Thanks, > Petr > > > Do not print error message on successful TPM2 selftest > > If TPM2 selftest succeeds, everything is fine, and no error message > should be printed. > > Signed-off-by: Petr Vandrovec <petr@vmware.com> > > > diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c > index 08c7e23..f141357 100644 > --- a/drivers/char/tpm/tpm2-cmd.c > +++ b/drivers/char/tpm/tpm2-cmd.c > @@ -957,7 +957,7 @@ int tpm2_auto_startup(struct tpm_chip *chip) > goto out; > > rc = tpm2_do_selftest(chip); > - if (rc != TPM2_RC_INITIALIZE) { > + if (rc && rc != TPM2_RC_INITIALIZE) { > dev_err(&chip->dev, "TPM self test failed\n"); > goto out; > } > > ----- End forwarded message ----- > > -- > Jason Gunthorpe <jgunthorpe@obsidianresearch.com> (780)4406067x832 > Chief Technology Officer, Obsidian Research Corp Edmonton, Canada > > ------------------------------------------------------------------------------ > _______________________________________________ > tpmdd-devel mailing list > tpmdd-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/tpmdd-devel ------------------------------------------------------------------------------
On Mon, Aug 29, 2016 at 11:21:26PM +0300, Jarkko Sakkinen wrote: > On Mon, Aug 29, 2016 at 02:08:28PM -0600, Jason Gunthorpe wrote: > > Looks legit to me. > > I think this is a good change as long as it is sent through the > normal process (so that it is available in patchwork). I'll send a patch, do your test systems show a bug? It looks like it is just a scary kernel message? Jason ------------------------------------------------------------------------------
diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c index 08c7e23..f141357 100644 --- a/drivers/char/tpm/tpm2-cmd.c +++ b/drivers/char/tpm/tpm2-cmd.c @@ -957,7 +957,7 @@ int tpm2_auto_startup(struct tpm_chip *chip) goto out; rc = tpm2_do_selftest(chip); - if (rc != TPM2_RC_INITIALIZE) { + if (rc && rc != TPM2_RC_INITIALIZE) { dev_err(&chip->dev, "TPM self test failed\n"); goto out; }