Re: [PATCH v3 2/6] tpm: Store TPM buffer length

From: Jerry Snitselaar
Date: Mon Nov 06 2023 - 14:39:02 EST


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