Re: [tpmdd-devel] [PATCH RFC v2 3/5] tpm: infrastructure for TPM spaces

From: Jarkko Sakkinen
Date: Thu Jan 12 2017 - 15:31:41 EST


On Thu, Jan 12, 2017 at 10:38:30AM -0800, James Bottomley wrote:
> On Thu, 2017-01-12 at 19:46 +0200, Jarkko Sakkinen wrote:
> > @@ -435,17 +440,23 @@ ssize_t tpm_transmit(struct tpm_chip *chip,
> > const u8 *buf, size_t bufsiz,
> > goto out;
> >
> > out_recv:
> > - rc = chip->ops->recv(chip, (u8 *) buf, bufsiz);
> > - if (rc < 0)
> > + len = chip->ops->recv(chip, (u8 *) buf, bufsiz);
> > + if (len < 0) {
> > dev_err(&chip->dev,
> > - "tpm_transmit: tpm_recv: error %zd\n", rc);
> > + "tpm_transmit: tpm_recv: error %d\n", rc);
> > + rc = len;
> > + goto out;
> > + }
> > +
> > + rc = tpm2_commit_space(chip, space, ordinal, buf, bufsiz);
>
> I think this should be
>
> rc = tpm2_commit_space(chip, space, ordinal, buf, len)
>
> because tpm2_commit_space wants to know the length of the response, not
> the length of the original command.

Yeah, would make sense.

> James

/Jarkko