Messages in this thread | | | From | Ed Swierk <> | Date | Tue, 21 Jun 2016 17:21:27 -0700 | Subject | Re: [PATCH v7 3/5] tpm: Clean up reading of timeout and duration capabilities |
| |
On Mon, Jun 20, 2016 at 6:54 PM, Ed Swierk <eswierk@skyportsystems.com> wrote: > --- a/drivers/char/tpm/tpm-interface.c > +++ b/drivers/char/tpm/tpm-interface.c > @@ -461,9 +461,19 @@ ssize_t tpm_getcap(struct device *dev, __be32 subcap_id, cap_t *cap, > tpm_cmd.params.getcap_in.subcap_size = cpu_to_be32(4); > tpm_cmd.params.getcap_in.subcap = subcap_id; > } > + > rc = tpm_transmit_cmd(chip, &tpm_cmd, TPM_INTERNAL_RESULT_SIZE, desc); > + > + if (!rc && > + ((subcap_id == TPM_CAP_PROP_TIS_TIMEOUT && > + be32_to_cpu(tpm_cmd.header.out.length) != TPM_HEADER_SIZE + 5) || > + (subcap_id == TPM_CAP_PROP_TIS_DURATION && > + be32_to_cpu(tpm_cmd.header.out.length) != TPM_HEADER_SIZE + 4))) > + rc = -EINVAL; > +
Woops, a totally innocuous last-minute (post-testing) cleanup broke this code; should be TPM_HEADER_SIZE + 20 and + 16. I'll push out v8 as soon as I redo my tests.
--Ed
| |