[PATCH v6 7/7] tpm: pass an array of tpm_bank_list structures to tpm_pcr_extend()

Jarkko Sakkinen jarkko.sakkinen at linux.intel.com
Wed Dec 12 18:27:34 UTC 2018


On Thu, Dec 06, 2018 at 07:38:30PM +0100, Roberto Sassu wrote:
> On 12/5/2018 1:14 AM, Jarkko Sakkinen wrote:
> > On Tue, Dec 04, 2018 at 09:21:38AM +0100, Roberto Sassu wrote:
> > > The new tpm_bank_list structure has been preferred to the tpm_digest
> > > structure, to let the caller specify the size of the digest (which may be
> > > unknown to the TPM driver).
> > 
> > Why is that? Didn't previous commit query these?
> 
> Since the TPM driver pads/truncates the first digest passed by the
> caller to extend PCRs for which no digest was provided, it must know
> which amount of data it can use. It is possible that the algorithm of
> the first digest is unknown for the TPM driver, if the caller of
> tpm_pcr_extend() didn't check chip->allocated_banks.
> 
> By requiring that the caller passes also the digest size, this problem
> does not arise. It seems reasonable to me to pass this information, as
> the caller calculated the digest and it should know the digest size.

OK. I noticed something other things that look to alarming:

1. The function does not fail if alg_id is not found. This will go
   silent.
2. The function does not fail if there is a mismatch with the digest
   sizes.

/Jarkko



More information about the Linux-security-module-archive mailing list