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

From: Peter Hüwe
Date: Thu Dec 04 2014 - 18:08:02 EST


Am Mittwoch, 3. Dezember 2014, 03:28:35 schrieb Stefan Berger:
> On 12/02/2014 05:31 PM, Jarkko Sakkinen wrote:
> > +
> > +/**
> > + * 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 :( )




Peter
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/