[PATCH 3/8] tpm: Correct the permissions command in TPMv1
Ilias Apalodimas
ilias.apalodimas at linaro.org
Tue Jun 7 10:44:24 CEST 2022
Hi Simon,
On Mon, Feb 28, 2022 at 05:11:20PM -0700, Simon Glass wrote:
> The offset here is incorrect. Fix it.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> lib/tpm-v1.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/lib/tpm-v1.c b/lib/tpm-v1.c
> index 22a769c587..d0e3ab1b21 100644
> --- a/lib/tpm-v1.c
> +++ b/lib/tpm-v1.c
> @@ -456,12 +456,13 @@ u32 tpm1_get_permissions(struct udevice *dev, u32 index, u32 *perm)
> 0x0, 0x0, 0x0, 0x4,
> };
> const size_t index_offset = 18;
> - const size_t perm_offset = 60;
> + const size_t perm_offset = 74;
This is fine, but I hate all these magic values sprinkled around the TPM
APIs. Starting with this patch can we do the right thing and at lease have
those in a #define with a names that makes some sense?
> u8 buf[COMMAND_BUFFER_SIZE], response[COMMAND_BUFFER_SIZE];
> size_t response_length = sizeof(response);
> u32 err;
>
> - if (pack_byte_string(buf, sizeof(buf), "d", 0, command, sizeof(command),
> + if (pack_byte_string(buf, sizeof(buf), "sd",
> + 0, command, sizeof(command),
> index_offset, index))
> return TPM_LIB_ERROR;
> err = tpm_sendrecv_command(dev, buf, response, &response_length);
> --
> 2.35.1.574.g5d30c73bfb-goog
>
Thanks
/Ilias
More information about the U-Boot
mailing list