tpm: Correct the permissions command in TPMv1
authorSimon Glass <sjg@chromium.org>
Wed, 31 Aug 2022 03:05:33 +0000 (21:05 -0600)
committerIlias Apalodimas <ilias.apalodimas@linaro.org>
Sat, 3 Sep 2022 13:54:02 +0000 (16:54 +0300)
The offset here is incorrect. Fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
lib/tpm-v1.c

index 22a769c..d0e3ab1 100644 (file)
@@ -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;
        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);