On Thu, 2010-11-11 at 21:57 +0000, David Howells wrote:
> Mimi Zohar <zo...@linux.vnet.ibm.com> wrote:

Thanks for the helpful comments - much appreciated.
Willdo on all of them - just one question on the last comment:

> > +/*
> > + * Have the TPM seal(encrypt) the trusted key, possibly based on
> > + * Platform Configuration Registers (PCRs). AUTH1 for sealing key.
> > + */
> > +static int tpm_seal(struct tpm_buf *tb, uint16_t keytype,
> > +               uint32_t keyhandle, unsigned char *keyauth,
> > +               unsigned char *data, uint32_t datalen,
> > +               unsigned char *blob, uint32_t * bloblen,
> > +               unsigned char *blobauth,
> > +               unsigned char *pcrinfo, uint32_t pcrinfosize)
> > +{
> > +   struct osapsess sess;
> > +   unsigned char encauth[TPM_HASH_SIZE];
> > +   unsigned char pubauth[TPM_HASH_SIZE];
> > +   unsigned char xorwork[TPM_HASH_SIZE * 2];
> > +   unsigned char xorhash[TPM_HASH_SIZE];
> > +   unsigned char nonceodd[TPM_NONCE_SIZE];
> 
> That's quite a lot of stack space, and you're calling other functions that
> also allocate chunks of stack space.

checkstack showed that the max stack usage was for tpm_seal, at 530
bytes. (The rest were 300 or less.)  I can certainly throw the hashes
and nonce (120 bytes) into a dynamically allocated struct, if you
think it is worth the extra code...

thanks
dave
--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to