Thread (25 messages) 25 messages, 6 authors, 2014-12-08

Re: [tpmdd-devel] [PATCH v8 6/8] tpm: TPM 2.0 baseline support

From: Jarkko Sakkinen <hidden>
Date: 2014-12-08 13:56:55
Also in: lkml

On Fri, Dec 05, 2014 at 12:13:18AM +0100, Peter Hüwe wrote:
Am Mittwoch, 3. Dezember 2014, 03:28:35 schrieb Stefan Berger:
quoted
On 12/02/2014 05:31 PM, Jarkko Sakkinen wrote:
quoted
+
+/**
+ * tpm2_startup() - send startup command to the TPM chip
+ * @chip:		TPM chip to use.
+ * @startup_type	startup type. The value is either
+ *			TPM_SU_CLEAR or TPM_SU_STATE.
+ *
+ * 0 is returned when the operation is successful. If a negative number
is + * returned it remarks a POSIX error code. If a positive number is
returned + * it remarks a TPM error.
+ */
+int tpm2_startup(struct tpm_chip *chip, __be16 startup_type)
+{
+	struct tpm2_cmd cmd;
+
+	cmd.header.in = tpm2_startup_header;
+
+	cmd.params.startup_in.startup_type = startup_type;
+	return tpm_transmit_cmd(chip, &cmd, sizeof(cmd),
+				"attempting to start the TPM");
+}
I suppose you need to send this command because your firmware does not
do it ?Following TPM1.2 I guess the BIOS / UEFI should send this instead
and sending it later would actually be wrong. Hm, I don't find from
where you are calling this... do you need it ? Can you remove it?

    Stefan
Hi,

I think it would be good to send a TPM2_Startup if the TPM sends a 
TPM_RC_INITIALIZE (0x100) - so it becomes atleast usable.
Of course the BIOS/UEFI/Firmware should send the TPM2_Startup, but if there is 
no such thing, I would prefer Linux to do it, rather than nobody.
(analog: This was done for embedded platforms with TPM1.2).

In the current situation (v9) it is not possible to use the TPM2 on a machine 
without bios integration. :( (so I cannot test here :( )
Should the place be if sending self-test fails? I think the type should
be TPM2_SU_CLEAR. Do you agree?

All other issues are now fixed except this and STS3 bit issue that I 
look for next. In my github there is tpm2-v10 branch now with fixes
on top. I squash the fixes right after these two remaining issues are
fixed.
Peter
/Jarkko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help