All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tricca, Philip B <philip.b.tricca at intel.com>
To: tpm2@lists.01.org
Subject: Re: [tpm2] [tpm2-driver] Error at boot : A TPM error (256) occurred continue selftest
Date: Mon, 26 Aug 2019 15:30:53 +0000	[thread overview]
Message-ID: <DB638850A6A2434A93ECADDA0BC838909CEB63D6@ORSMSX104.amr.corp.intel.com> (raw)
In-Reply-To: 476DC76E7D1DF2438D32BFADF679FC5649DEE4ED@ORSMSX101.amr.corp.intel.com

[-- Attachment #1: Type: text/plain, Size: 3126 bytes --]

A bit more data on the "why": if the TPM receives a startup command when it is not required (TPM has *already* completed startup) then it will return TPM_RC_INITIALIZE (you can test this using the tpm2_startup command from tpm2-tools). By the time the kernel takes over the platform firmware should have already initialized the TPM. The kernel sends a startup command regardless since we have no guarantee that the firmware did what it was supposed to do. So in the common case the kernel will receive this RC in response to the Startup command.

Reporting this as an error is inaccurate but harmless. I'm not seeing this on my 4.19 kernel so this may have already been addressed upstream. Might be worth an email to the drivers maintainers if you can repro on a newer kernel.

Philip

-----Original Message-----
From: tpm2 [mailto:tpm2-bounces(a)lists.01.org] On Behalf Of Roberts, William C
Sent: 23 August, 2019 10:22
To: Gael GUEGAN <Gael.Guegan(a)non.se.com>; tpm2(a)lists.01.org; javierm(a)redhat.com
Subject: Re: [tpm2] [tpm2-driver] Error at boot : A TPM error (256) occurred continue selftest

You should be able to ignore that. But I am unsure of what is leading you to that state. Is someone Sending a selftest command before a startup command? The startup command, when not in field upgrade Mode, should be startup. So when the tpm initializes, it expects one of the first commands as described In the spec:
https://trustedcomputinggroup.org/wp-content/uploads/TPM-Rev-2.0-Part-1-Architecture-01.38.pdf

The first command sent to the tpm should be a startup command..... you can see that in Figure 5 on page 57 Of the spec above and described in detail in section 12.2.2

Bill

> -----Original Message-----
> From: tpm2 [mailto:tpm2-bounces(a)lists.01.org] On Behalf Of Gael GUEGAN
> Sent: Thursday, August 8, 2019 3:35 AM
> To: tpm2(a)lists.01.org; javierm(a)redhat.com
> Subject: [tpm2] [tpm2-driver] Error at boot : A TPM error (256) 
> occurred continue selftest
> 
> Hello all,
> 
> 
> 
> I am working with the linux kernel version 4.9 on an embedded target.
> 
> And I am having the following error message from the TPM driver at boot :
> 
> 
> 
> > $  dmesg | grep TPM
> 
> [    2.946137] tpm_tis_spi spi32766.0: 2.0 TPM (device-id 0x0, rev-id 78)
> 
> [    2.975824] tpm tpm0: A TPM error (256) occurred continue selftest
> 
> 
> 
> So I have seen that this error 256 correspond to TPM2_RC_INITIALIZE = 
> 0x0100, and that it is thrown  from this function
> <https://github.com/torvalds/linux/blob/v4.9/drivers/char/tpm/tpm-
> interface.c#L422>  (be32_to_cpu() when executing a tpm_transmit_cmd()).
> 
> 
> 
> However can someone explain why I am having this error ? Is it 
> possible that it is because I am trying to access to the TPM during 
> its initialization phase / selftest phase ?
> 
> Can I ignore this error without worry ?
> 
> 
> 
> 
> 
> Thank for your help,
> 
> 
> 
> 
> 
> Gael GUEGAN

_______________________________________________
tpm2 mailing list
tpm2(a)lists.01.org
https://lists.01.org/mailman/listinfo/tpm2

             reply	other threads:[~2019-08-26 15:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-26 15:30 Tricca, Philip B [this message]
  -- strict thread matches above, loose matches on Subject: below --
2019-08-26 15:39 [tpm2] [tpm2-driver] Error at boot : A TPM error (256) occurred continue selftest Roberts, William C
2019-08-23 17:21 Roberts, William C
2019-08-08  8:34 Gael GUEGAN

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DB638850A6A2434A93ECADDA0BC838909CEB63D6@ORSMSX104.amr.corp.intel.com \
    --to=tpm2@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.