Re: [PATCH v6 7/8] tpm: Add tpm_buf_read_{u8,u16,u32}

Stefan Berger
2023-11-28T12:35:25Z

On 11/23/23 21:02, Jarkko Sakkinen wrote:
> Declare reader functions for the instances of struct tpm_buf. If the read
> goes out of boundary, TPM_BUF_BOUNDARY_ERROR is set, and subsequent read
> will do nothing.
>
> Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
> ---

> + */
> +u16 tpm_buf_read_u16(struct tpm_buf *buf, off_t *offset)
> +{
> + u16 value;

This should be __be16 ...

> +
> + tpm_buf_read(buf, offset, sizeof(value), &value);
> +
> + return be16_to_cpu(value);
> +}
> +EXPORT_SYMBOL_GPL(tpm_buf_read_u16);
> +
> +/**
> + * tpm_buf_read_u32() - Read 32-bit word from a TPM buffer
> + * @buf: &tpm_buf instance
> + * @offset: offset within the buffer
> + *
> + * Return: next 32-bit word
> + */
> +u32 tpm_buf_read_u32(struct tpm_buf *buf, off_t *offset)
> +{
> + u32 value;

... and this __be32 to avoid this here:

drivers/char/tpm/tpm-buf.c:203:16: warning: cast to restricted __be16
drivers/char/tpm/tpm-buf.c:220:16: warning: cast to restricted __be32