diff mbox

[tpmdd-devel,petr@vmware.com:,TPM2,erroring-out,after,tpm:,Factor,out,common,startup,code]

Message ID 20160829200828.GB3201@obsidianresearch.com
State New
Headers show

Commit Message

Jason Gunthorpe Aug. 29, 2016, 8:08 p.m. UTC
Looks legit to me.

----- 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>



----- End forwarded message -----

Comments

Jarkko Sakkinen Aug. 29, 2016, 8:21 p.m. UTC | #1
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

------------------------------------------------------------------------------
Jason Gunthorpe Aug. 29, 2016, 8:38 p.m. UTC | #2
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 mbox

Patch

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;
        }