On Tue, Oct 24, 2023 at 04:15:20AM +0300, Jarkko Sakkinen wrote: > Both TPM commands and sized buffers (TPM2B) have a fixed size header, which > is followed by the body. Store TPM buffer length to a new field in the > struct tpm_buf. > > The invariant here is that the length field must always contain the total > length of the buffer, i.e. the sum header and body length. The value must > then be mapped to the length representation of the buffer type, and this > correspondence must be maintained. > > Signed-off-by: Jarkko Sakkinen <jarkko@xxxxxxxxxx> > --- > drivers/char/tpm/tpm-buf.c | 36 ++++++++++++++++------- > drivers/char/tpm/tpm-interface.c | 18 +++++++++--- > include/linux/tpm.h | 10 +++---- > security/keys/trusted-keys/trusted_tpm1.c | 8 ++--- > 4 files changed, 49 insertions(+), 23 deletions(-) > > diff --git a/drivers/char/tpm/tpm-buf.c b/drivers/char/tpm/tpm-buf.c > index 88ce1a5402de..8dc6b9db006b 100644 > --- a/drivers/char/tpm/tpm-buf.c > +++ b/drivers/char/tpm/tpm-buf.c > @@ -18,6 +18,12 @@ int tpm_buf_init(struct tpm_buf *buf, u16 tag, u32 ordinal) > } > EXPORT_SYMBOL_GPL(tpm_buf_init); > > +/** > + * tpm_buf_reset() - Initialize a TPM command > + * @buf: A @tpm_buf One minor thing I meant to mention, did you intend this to be &tpm_buf like it is for tpm_buf_append? Regards, Jerry