Re: [PATCH v2 1/3] keys, trusted: select the hash algorithm

From: Jarkko Sakkinen
Date: Mon Nov 02 2015 - 12:40:58 EST


On Mon, Nov 02, 2015 at 07:16:49AM -0500, Mimi Zohar wrote:
> On Fri, 2015-10-30 at 13:35 +0200, Jarkko Sakkinen wrote:
>
> > @@ -787,6 +791,20 @@ static int getoptions(char *c, struct trusted_key_payload *pay,
> > return -EINVAL;
> > opt->pcrlock = lock;
> > break;
> > + case Opt_hash:
> > + for (i = 0; i < HASH_ALGO__LAST; i++) {
> > + if (!strcmp(args[0].from, hash_algo_name[i])) {
> > + opt->hash = i;
> > + break;
> > + }
> > + }
> > + res = tpm_is_tpm2(TPM_ANY_NUM);
>
> While looking at this, I wanted to verify that chips are still added to
> the tail of the tpm_chip_list. Unfortunately, commit "afb5abc tpm:
> two-phase chip management functions" reverted David Howell's commit
> "770ab65 TPM: Add new TPMs to the tail of the list to prevent
> inadvertent change of dev".

Ouch. I'll send a fix that reverts the behavior. Good catch and
apologies. Platforms that I've used BIOS let choose either dTPM 1.2 or
fTPM and platforms that have dTPM 2.0 do not have fTPM option at all.
That's why it went unnoticed.

> > + if (res < 0)
> > + return res;
> > + if (i == HASH_ALGO__LAST ||
> > + (!res && i != HASH_ALGO_SHA1))
> > + return -EINVAL;
> > + break;
>
> If the first TPM registered is a TPM 1.2, then changing the default TPM
> 2.0 hash algorithm will fail.

Yup.

> Mimi
>
> > default:
> > return -EINVAL;
> > }

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